枚举是一系列相关值的通用类型,是类型安全的。
Swift中的枚举不需要为每一个成员赋值,而成员的值可以是 字符串 字符 或者人意的整数或浮点值。
枚举成员可以指定任何存储成员值类型的关联值enumeration members can specify associated values of any type to be stored along with each different member value。枚举成员可以是相关的成员集合,而每个成员也可以是一个单独的小集合。
枚举跟传统的类结构颇为相似,例如有computed properties可以提供当前枚举值的附加信息,也有实例方法,枚举可以有自己的初始化方法,也可以被扩展extended,可以遵守协议。
1
2
3
4
5
6 |
enum CompassPoint { case
North case
South case
East case
West } |
关键字case声明一个枚举成员,值得注意的是,枚举成员没有自己的默认值,(不像c,默认是0,1,2,3)。定义好枚举之后,CompassPoint便成为一个数据类型。
1 |
var directionToHead = CompassPoint.West |
此时directionToHead的类型是什么?编译器会在初始化CompassPoint时根据他的值类型推断出来。一旦变量定义为CompassPoint类型,就可以用点语法指定任意成员:
1 |
directionToHead = .East |
原文地址:http://www.cnblogs.com/qiqingnan/p/3768808.html