1>枚举的语法
enum SomeThing{
}
eg: enum Calculate{
case jia
case jian
case cheng
case chu
} 与 C 和 Objective-C 不同,Swift 的枚举成员在被创建时不会被赋予一个默认的整型值。在上面的Calculate例子中,jia,jian,cheng和chu不会被隐式地赋值为0,1,2和3。相反,这些枚举成员本身就是完备的值,这些值的类型是已经明确定义好的Calculate类型。
多个成员值可以出现在同一行上,用逗号隔开:
eg: enum Numbers{
case one,two,three
}每个枚举定义了一个全新的类型。像 Swift 中其他类型一样,它们的名字应该以一个大写字母开头。给枚举类型起一个单数名字而不是复数名字,那样更容易理解.
2>原始值的隐式赋值
使用枚举成员的rawValue属性可以访问该枚举成员的原始值.
当使用字符串作为枚举类型的原始值时,每个枚举成员的隐式原始值为该枚举成员的名称。
3>递归枚举
递归枚举(recursive enumeration)是一种枚举类型,它有一个或多个枚举成员使用该枚举类型的实例作为关联值。使用递归枚举时,编译器会插入一个间接层。你可以在枚举成员前加上indirect来表示该成员可递归。