Swift快速入门(十)

62 阅读1分钟

枚举

枚举语法

Swift中使用enum来声明枚举

enum TestEnum{
 caseA,B,C,D
}

enum TestEnum2{
 case A
 case B
 case C
 case D
}
匹配枚举值
func test1(param:TestEnum){

switch param {
 case.A:
 print("这是枚举A")
 
 case.B:
 print("这是枚举B")
 
 case.C:
 print("这是枚举C")
 
 case.D:
  print("这是枚举D")
 }
}
遍历枚举

令枚举遵循 CaseIterable 协议。Swift 会生成一个 allCases 属性,用于表示一个包含枚举所有成员的集合。

enum TestEnum5:CaseIterable{
 case A,B,C,D
}
print(type(of:TestEnum5. allCases))
关联枚举
enum TestEnum4 {

case weight(Int)

case heigth (Int)

case name(String)

}
func test2(param:TestEnum4) {

 switch param {
 case.heigth(180):
 print("height =\(180)")
 case .weight(90):
 print("weight = \(90)")
 case .name("willem"):
 print("name = willem")
 default:
 print("not match")

}

}
原始值

原始值可以是字符串,字符,或者任何整型值或浮点型值。每个原始值在它的枚举声明中必须是唯一的。 在原始值为整数的枚举时,不需要显式的为每一个成员赋值,Swift会自动为你赋值。 例如,当使用整数作为原始值时,隐式赋值的值依次递增1。如果第一个值没有被赋初值,将会被自动置为0。

import Cocoa

enum Month: Int {
    case January = 1, February, March, April, May, June, July, August, September, October, November, December
}

let yearMonth = Month.May.rawValue
print("数字月份为: (yearMonth)。")