之前記錄了Swift Enumeration(1),這篇算是它的延續吧,繼續說下Enumeration,看以下定義
enum TrainStatus {
case OnTime
case Delay(Int) //帶關聯值
}
var myTrainStatus = TrainStatus.Delay(10)
用Switch 比對對象
switch myTrainStatus{
case .OnTime:
println("Train is ontime")
case .Delay(let minutes):
println("Train delays \(minutes) minutes")
比對方式是有先後順序的,上面中先比對到Delay然後再給裡面的minutes指派,好下面我将示範區間比對。
case .OnTime://比對準時
case .Delay(1...5)://比對1到5
println("Train delays less than five minutes")
case .Delay(6...10)://比對6到10
println("Train delays between six and ten minutes")
case .Delay(_): //比對其它,裡面是下劃線
println("Train delays more than ten minutes")
關聯值的另一個例子,