SWIFT Enumeration(2)

简介: 之前记录了Swift Enumeration(1),这篇算是它的延续吧,继续说下Enumeration,看以下定义 enum TrainStatus {     case OnTime     case Delay(Int) //带关联值 } var myTrainStatus = TrainStatus.

之前记录了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赋值,好下面我将演示区间匹配。

switch myTrainStatus{

case .OnTime://匹配准时

    println("Train is 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")

}

 

关联值的另一个例子,

enum Barcode{
    case UPCA(Int,Int,Int,Int)
    case QRCode(String)
}

var productCodeA:Barcode = Barcode.UPCA(10, 20, 30, 40)
var productCodeB:Barcode = Barcode.QRCode("This is an infomation")

switch productCodeB{
case .UPCA(let a,let b,let c,let d):
    print("\(a)-\(b)-\(c)-\(d)")
case .QRCode(let code):
    print("\(code)")
}

 

目录
相关文章
|
3月前
|
存储 安全 Swift
Swift 语言:什么是 Swift 的泛型(Generics)?
Swift 语言:什么是 Swift 的泛型(Generics)?
35 0
|
3月前
|
存储 Swift iOS开发
在Swift编程语言中,集合类型`Set`
在Swift编程语言中,集合类型`Set`
22 2
|
6月前
|
Swift iOS开发
9 如何在Swift中使用Optional
如何在Swift中使用Optional
35 2
|
3月前
|
存储 算法 安全
【Swift专题】聊聊Swift中的属性
属性是面向对象语言中非常基础的语法特性,我们讲属性,实际上就是讲与类本身或类实例关联的数据。在面向对象的语言中,类作为重要的数据结构会封装数据与函数,类中的函数我们通常称其为方法,而数据则就是属性。
40 1
|
3月前
|
存储 Swift 索引
在 Swift 编程语言中,集合类型 `Set`
在 Swift 编程语言中,集合类型 `Set`
23 1
|
3月前
|
存储 Swift
在Swift编程语言中,字典(Dictionary)
在Swift编程语言中,字典(Dictionary)
297 3
|
Swift
Swift实用小册21: Generics泛型的使用
在本章中,你将学会Generics泛型的使用方法。
147 0
Swift实用小册21: Generics泛型的使用
|
存储 编译器 Swift
Swift5.1—集合类型
Swift5.1—集合类型
83 0
Swift5.1—集合类型
|
存储 安全 Swift
Swift5.1—泛型
Swift5.1—泛型
137 0
Swift5.1—泛型
|
存储 Swift iOS开发
Swift5.1—类型方法
Swift5.1—类型方法
103 0