<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="" applecontenteditable="true"><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 23, 2017, at 01:46, Slava Pestov &lt;<a href="mailto:spestov@apple.com" class="">spestov@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><blockquote type="cite" class="">On Mar 22, 2017, at 5:51 PM, Jordan Rose via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><br class="">[Proposal: <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md</a>]<br class=""><br class="">I'm definitely in favor of this. Apart from the various motivations discussed in the proposal, this also allows some changes that could improve incremental builds: the generated header ("MyApp-Swift.h") wouldn't need to be regenerated nearly as often with fewer methods exposed to Objective-C. (There's some nuance here that I don't need to go into right now, and there are alternate solutions to that problem, but it's nice that the common case will just put fewer declarations into the header and therefore it would change less often.)<br class=""><br class="">The migration aspect is a little scary. #selector's Objective-C equivalent is @selector, which is easy to search for, but #keyPath maps to plain old strings.<br class=""></blockquote><br class="">Are these strings usually literal strings that are passed in to some set of mostly-known selector names, or do people pass them around or even construct them dynamically?</div></div></blockquote><br class=""></div><div>Yeah, that's a saving factor. If someone made a list of all the KVC/KVO/bindings APIs and looked for uses in their project, they'd <i class="">probably</i>&nbsp;get most of them (with the minor complication of the argument usually being a key <i class="">path</i>&nbsp;and not just a single key).</div><div><br class=""></div><div>Jordan</div><br class=""></body></html>