枚举
枚举实例:
enum CompassPoint{
case north
case south
case east
case west
}
enum Planet {
case mercury,venus,earth,mars,jupiter,saturn,uranus,neptune
}
使用:
var directionToHead = CompassPoint.west
directionToHead = .east
关联值
可以定义swift枚举来存储任意类型的关联值,如果需要的话,每个枚举成员的关联值可以各不相同。枚举的这种特性跟其他语言中的可识别联合,标签联合,或者变体相似。
swift中,使用如下方式定义表示两种商品条形码的枚举:
enum Barcode {
case upc(Int,Int,Int,Int)
case qrCode(String)
}
可以任意使用一种条形码类型创建新的条形码:
var productBarcode = Barcode.upc(8, 85905, 51225, 3)
productBarcode = .qrCode("abcdefg")
原始的值被新的值所代替。Barcode类型的常量和变量可以存储一个.upc或者一个.qrCode,但是在同一时间