我们可以在Swift的Enum中使用初始化器吗?

时间:2016-02-17 12:02:16

标签: ios swift enums

我试着玩swift和enum。我担心的是swum中的Enum是Value数据类型。那么我们可以在这样的结构或类中使用初始化器。

1 个答案:

答案 0 :(得分:2)

是的,我们可以:

enum Foo {
    case Bar, Qux

    init?(_ string: String) {
        switch string {
        case "Bar":
            self = .Bar
        case "Qux":
            self = .Qux
        default:
            return nil
        }
    }    
}

let foo = Foo("Bar")!

print(foo) // prints "Bar"