Swiftになって列挙型がだいぶ拡張されたようです。
こちらの記事を参考にしました。
通常のenum
enum Sample {
case A
case B, C, D
case E, F
}
var samp = Sample.A
型を指定したenum
enum Sample: Int {
case type1 = 0
case type2, type3, type4
}
メソッドを持ったenum
enum Sample: Int {
case type1 = 0
case type2, type3, type4
func str() -> String {
switch self {
case .type1:
return "type1"
case .type2:
return "type2"
case .type3:
return "type3"
case .type4:
return "type4"
}
}
}
値を持ったenum
enum Sample {
case Type1(String, String)
case Type2(Int)
}
var samp = Sample.Type1("hoge", "fuga")
switch samp {
case .Type1(let a, let b):
println("\(a), \(b)")
break
case .Type2(let a):
println(a)
break
}