<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 4, 2017, at 21:36, Charlie Monroe via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I'm personally coming back and forth on this - my code is now 99% pure Swift, so I don't really need @objc declarations aside for:</div><div class=""><br class=""></div><div class="">- CoreData - which is fairly obvious and @NSManaged will scream if the type isn't @objc-compatible</div><div class=""><br class=""></div><div class="">- UI - and this is a big part. Unfortunately, I've relied on @objc inference in multiple cases when it comes to binding (macOS). Or to be more precise @objc implied dynamic. So for NSObject subclasses</div><div class=""><br class=""></div><div class="">var foo: String = ""</div><div class=""><br class=""></div><div class="">is without further annotations usable with bindings (though IB screams that NSString is expected and it found String). And who has previously dealt with them knows that this change will be hell to debug and discover all the places since Interface Builder usually isn't very helpful in this matter.</div><div class=""><br class=""></div><div class="">In order for the migration to go smoothly, it would require the IB to do some kind of keyPath validations and add annotations to those places as well. Without it, I can't imagine the transition... IB has been a source of great deal of ObjC -> Swift headaches, I wish there weren't any more.</div></div></div></blockquote><br class=""></div><div>Good^W Bad news: this never worked. @objc does not imply 'dynamic', so you're just dropping updates on the floor. Unfortunately the bindings system can't <i class="">detect</i> this case and warn you about it.</div><div><br class=""></div><div>Jordan</div><br class=""></body></html>