发布于 2015-06-14 01:50:53 | 410 次阅读 | 评论: 0 | 来源: 网络整理
使用enum
关键词并且把它们的整个定义放在一对大括号内:
enum SomeEnumeration {
// enumeration definition goes here
}
以下是指南针四个方向的一个例子:
enum CompassPoint {
case North
case South
case East
case West
}
一个枚举中被定义的值(例如 North
,South
,East
和West
)是枚举的成员值(或者成员)。case
关键词表明新的一行成员值将被定义。
注意:
不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值。在上面的CompassPoints
例子中,North
,South
,East
和West
不是隐式的等于0
,1
,2
和3
。相反的,这些不同的枚举成员在CompassPoint
的一种显示定义中拥有各自不同的值。
多个成员值可以出现在同一行上,用逗号隔开:
enum Planet {
case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Nepturn
}
每个枚举定义了一个全新的类型。像 Swift 中其他类型一样,它们的名字(例如CompassPoint
和Planet
)必须以一个大写字母开头。给枚举类型起一个单数名字而不是复数名字,以便于读起来更加容易理解:
var directionToHead = CompassPoint.West
directionToHead
的类型被推断当它被CompassPoint
的一个可能值初始化。一旦directionToHead
被声明为一个CompassPoint
,你可以使用更短的点(.)语法将其设置为另一个CompassPoint
的值:
directionToHead = .East
directionToHead
的类型已知时,当设定它的值时,你可以不再写类型名。使用显示类型的枚举值可以让代码具有更好的可读性。