[swift-evolution] [Proposal] Enum string interoperability with Objective-C and Swift

Rod Brown rodney.brown6 at icloud.com
Wed Jan 4 16:22:45 CST 2017


I'm not part of the core team, of course, but I like this change in principle.

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?

> On 31 Dec 2016, at 4:15 am, Derrick Ho via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I'm trying to revive an old thread. I'd like to hear from the community.
> 
> Can we make a swift enum string interoperable with Objective-C?
> 
> Currently NS_STRING_ENUM ports from objective-c to swift but not the other way around.
> 
> I feel that if you can go one direction you should be able to go back.
> 
> @objc
> enum City: String {
> case NewYork = "New York"
> } 
> 
> Make this available as a global string in objective -c ?
>> On Wed, Nov 23, 2016 at 5:55 AM Derrick Ho <wh1pch81n at gmail.com> wrote:
>> 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";
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170105/aaa4714e/attachment.html>


More information about the swift-evolution mailing list