我试着玩swift和enum。我担心的是swum中的Enum是Value数据类型。那么我们可以在这样的结构或类中使用初始化器。
答案 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"