//枚举的意义: 定义一个类别的集合, 常量 常用于解决一类魔法字符/数字 随处写的问题
//定义枚举的二种方式
enum CompassPonit {
case North
case South
case East
case West
}
enum Navigation { case Home, Category, Center}
//使用枚举的二种方式
print(CompassPonit.North)
//这种 不写enum 名,直接. 的 ,需要给变量先赋值为此enum的类型 否则无法直接用点语法
var nav = Navigation.Home
nav = .Category
print(nav)
//枚举常用于赋值后判断 变量是否是某个枚举值
switch nav {
case .Home:
print("nav = home")
break
case .Category:
print("nav = Category")
break
case .Center:
print("nav = Center")
break
}
//枚举的原始值rawValue
//支持为每一个属性赋原始值,
enum ASCIIControlCharacter: Character{
case Tab = "\t"
case LineFeed = "\n"
}
print(ASCIIControlCharacter.LineFeed.rawValue)
//隐式分配原始值
enum Numbers : Int{
case One = 1
case Two
case Three
}
print(Numbers.Two.rawValue)