在前面, 我们把函数和闭包解决完毕了, 现在让我们来看看Swift中的枚举和Switch:
1.枚举语法
所谓的枚举其实就是定义一个通用类型的一组相关的值, 使你可以在你的代码中以一个安全的方式来使用这些值。
在Swift中的枚举和OC或者C不太一样, 在Swift中的枚举, 我们可以不必为枚举每一个枚举成员添加一个值, 如果一个值(被认为是“原始”值)被提供给每个枚举成员, 则该值可以是一个字符串, 一个字符, 或是一个整型值或浮点值, 并且在Swift 中,枚举类型是一等(first-class)类型, 废话少说, 让我们来看看例子:
enum CompassPoint {
case North
case South
case East
case West
}
PS: 不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值, 在上面的 CompassPoints 例子中, North, South, East和West不是隐式得等于0, 1, 2 和 3, 相反的, 这些不同的枚举成员在 CompassPoint 的一种显示定义中拥有各自不同的值.
除了这种定义枚举的方式, 我们还有另外一种方式, 比如:
enum CompassPoint {
case North, South, East, West
}
// 使用枚举成员
var directionToHead = CompassPoint.West
// 或者
directionToHead = .East
PS: 这种写法更加的简单一些, 但必须得以 “( , )”隔开, 而且每一个枚举成员的首写字母都必须得大写.
2.匹配枚举值和Switch语句
匹配Switch语句的时候, 我们可以这么写, 比如:
directionToHead = .South
switch directionToHead {
case .North:
println("Lots of planets