0

なぜこれが遊び場で機能するのかは誰でも知っていますが、通常のソースファイルでは、次/Incorrect argument label in call (have 'rawValue:', expected 'name:')のエラーが発生します。バグかもしれません。

enum Foo : Int {
    case A, B, C

    init?(name:String) {
        switch name {
        case "A": self = .A
        case "B": self = .B
        case "C": self = .C
        default: return nil
        }
    }
}

let foo2 = Foo(rawValue:2)!

編集:Mac OSでも問題なく動作することに気づきました。これは、iOS 用にコンパイルしている場合にのみ表示されます。

4

0 に答える 0