swift之枚举

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属性可以访问该枚举成员的原始值.


let a =Numbers.two.rawValue ,那么a 的值就是2

当使用字符串作为枚举类型的原始值时,每个枚举成员的隐式原始值为该枚举成员的名称。

3>递归枚举

递归枚举(recursive enumeration)是一种枚举类型,它有一个或多个枚举成员使用该枚举类型的实例作为关联值。使用递归枚举时,编译器会插入一个间接层。你可以在枚举成员前加上indirect来表示该成员可递归。

你可能感兴趣的:(swift之枚举)