swift 枚舉類型

1:swift的枚舉類型是一系列的值,不一樣於c語言中枚舉類型是整數類型。每一個枚舉定義了個新的類型swift

 

2:switch類型匹配spa

 2.1枚舉類型和switch單個匹配code

 
 

enum PlatType{ blog

case Plane, Ship, Train, Carip

}it

var eTransport:PlatType = PlatType.Ship
switch eTransport {
case .Plane:
    println("plane")
//case .Ship:
//    println("ship")
//case .Train:
 //   println("train")
case .Car:
    println("car")
default:
    println("default")
}

關於switch語句,必須是完備的。如上所示,若是沒有把全部case寫完整,那麼就須要加上default語句。如上代碼,會進入default語句。若是全部case都寫完整了,那麼能夠不須要default語句。另外,不一樣與c語言等,swift語言的switch語句的case會自動break。class

2.2 關聯值枚舉類型方法

enum OtherType{
    case Point(Int, Int)
    case Name(String)
}
var type:OtherType = .Name("xd")
type = .Point(4, 9)
switch type{
case .Point(let iX, let iY):
    println("point X:\(iX) Y: \(iY)")
case .Name(let strName):
    println("name:\(strName)")
}

 2.3 初始值設定。初始值類型必需要一致。語言

enum InitalSettingType:Character{
    case CharacterX = "a"
    case CharacterY = "r"
}
enum InitalIntType:Int{
    case Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, weekday
}Int類型枚舉初始值會自動+1.相似c語言枚舉

若是要訪問枚舉類型的出事值,使用toRaw方法。di

let initValue = InitalIntType.Tuesday.toRaw()
println("\(initValue)")

使用fromRaw()反向查找枚舉類型值。 

let value = InitalIntType.fromRaw(2)

相關文章
相關標籤/搜索