Swift enum with custom initializer loses rawValue initializer

后端 未结 6 1543
长发绾君心
长发绾君心 2021-01-30 12:07

I have tried to boil this issue down to its simplest form with the following.

Setup

Xcode Version 6.1.1 (6A2008a)

An enum defined in MyEnum.swift

6条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-30 12:52

    Yeah this is an annoying issue. I'm currently working around it using a global-scope function that acts as a factory, i.e.

    func enumFromString(string:String) -> MyEnum? {
        switch string {
        case "One" : MyEnum(rawValue:1)
        case "Two" : MyEnum(rawValue:2)
        case "Three" : MyEnum(rawValue:3)
        default : return nil
        }
    }
    

提交回复
热议问题