Is there a reason you're unsatisfied with `@objc(JRKCity)`?<br><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Jan 5, 2017 at 12:48 Jeff Kelley via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Since it’s still common to see prefixes in use in Objective-C, I wonder if we could add that with a new attribute:<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">@objcprefix(JRK) enum City: String {</font></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg"><span class="m_-9129368756442101266Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>case NewYork = "New York"</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">}</font></div><div class="gmail_msg"><br class="gmail_msg"></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg">Would then appear in Objective-C as:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">typedef NSString * JRKCity;</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">static JRKCity const JRKCityNewYork = @"New York";</font></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">It’s a minor tweak, but would help especially with mixed-language source code where the Objective-C code is still prefixed.</div><div class="gmail_extra gmail_msg"><br clear="all" class="gmail_msg"><div class="gmail_msg"><div class="m_-9129368756442101266gmail_signature gmail_msg" data-smartmail="gmail_signature"><div dir="ltr" class="gmail_msg"><div style="font-family:Helvetica" class="gmail_msg"><br class="gmail_msg"></div><div style="font-family:Helvetica" class="gmail_msg">Jeff Kelley</div><div style="font-family:Helvetica" class="gmail_msg"><br class="gmail_msg"></div><div style="font-family:Helvetica" class="gmail_msg"><a href="mailto:SlaunchaMan@gmail.com" style="color:rgb(17,85,204)" class="gmail_msg" target="_blank">SlaunchaMan@gmail.com</a> | <a href="https://twitter.com/SlaunchaMan" style="color:rgb(17,85,204)" class="gmail_msg" target="_blank">@SlaunchaMan</a> | <a href="http://jeffkelley.org/" style="color:rgb(17,85,204)" class="gmail_msg" target="_blank">jeffkelley.org</a></div></div></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg">
<br class="gmail_msg"><div class="gmail_quote gmail_msg">On Wed, Jan 4, 2017 at 5:51 PM, Derrick Ho via swift-evolution <span dir="ltr" class="gmail_msg"><<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The underline can be omitted. To remain more consistent. <br class="gmail_msg"><span class="gmail_msg"><br class="gmail_msg"> enum City: String {<br class="gmail_msg"> case NewYork = "New York"<br class="gmail_msg"> } <br class="gmail_msg"><br class="gmail_msg"></span> typedef NSString * City;<br class="gmail_msg"> static City const CityNewYork = @"New York";<div class="m_-9129368756442101266HOEnZb gmail_msg"><div class="m_-9129368756442101266h5 gmail_msg"><br class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Wed, Jan 4, 2017 at 2:22 PM Rod Brown <<a href="mailto:rodney.brown6@icloud.com" class="gmail_msg" target="_blank">rodney.brown6@icloud.com</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><div class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">I'm not part of the core team, of course, but I like this change in principle.</div><div id="m_-9129368756442101266m_726753818258568081m_1459424563651473008AppleMailSignature" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"></div><div id="m_-9129368756442101266m_726753818258568081m_1459424563651473008AppleMailSignature" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">My one concern in this case would be choosing a naming convention for the back port that makes sense both ways. The naming convention you propose ( EnumName_EnumCase) seems inconsistent with the current import of strings from Obj-C to Swift. Could we find a way to unify them?</div></div><div dir="auto" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><div class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">On 31 Dec 2016, at 4:15 am, Derrick Ho via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg" target="_blank">swift-evolution@swift.org</a>> wrote:<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"></div><blockquote type="cite" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><div class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">I'm trying to revive an old thread. I'd like to hear from the community.<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">Can we make a swift enum string interoperable with Objective-C?<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">Currently NS_STRING_ENUM ports from objective-c to swift but not the other way around.<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">I feel that if you can go one direction you should be able to go back.<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">@objc<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">enum City: String {<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"> case NewYork = "New York"<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">} <br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">Make this available as a global string in objective -c ?<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><div class="gmail_quote m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><div dir="ltr" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">On Wed, Nov 23, 2016 at 5:55 AM Derrick Ho <<a href="mailto:wh1pch81n@gmail.com" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg" target="_blank">wh1pch81n@gmail.com</a>> wrote:<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="white-space:pre-wrap" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">I think enum strings should gain better interoperability with swift. Something like this:
enum City: String {
case NewYork = "New York"
}
This can be ported over to Objective-c like this:
typedef NSString * City;
static City const City_NewYork = @"New York";<br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"></div>
</blockquote></div>
</div></blockquote></div><div dir="auto" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><blockquote type="cite" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><div class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><span class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">_______________________________________________</span><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><span class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg">swift-evolution mailing list</span><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><span class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><a href="mailto:swift-evolution@swift.org" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg" target="_blank">swift-evolution@swift.org</a></span><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><span class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class="m_-9129368756442101266m_726753818258568081gmail_msg gmail_msg"></div></blockquote></div></blockquote></div>
</div></div><br class="gmail_msg">_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
<br class="gmail_msg"></blockquote></div><br class="gmail_msg"></div></div>
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>