天天看點

SWIFT Enumeration(2)

之前記錄了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")

關聯值的另一個例子,