1>枚舉的語法
enum SomeThing{
}
eg: enum Calculate{
case ?jia
case jian
case cheng
case chu
}? ? 與 C 和 Objective-C 不同赏枚,Swift 的枚舉成員在被創(chuàng)建時(shí)不會(huì)被賦予一個(gè)默認(rèn)的整型值根悼。在上面的Calculate例子中贷痪,jia用僧,jian贿堰,cheng和chu不會(huì)被隱式地賦值為0愚战,1宗兼,2和3。相反蜕窿,這些枚舉成員本身就是完備的值谋逻,這些值的類型是已經(jīng)明確定義好的Calculate類型。
多個(gè)成員值可以出現(xiàn)在同一行上桐经,用逗號(hào)隔開:
eg: enum Numbers{
case one,two,three
}每個(gè)枚舉定義了一個(gè)全新的類型毁兆。像 Swift 中其他類型一樣,它們的名字應(yīng)該以一個(gè)大寫字母開頭阴挣。給枚舉類型起一個(gè)單數(shù)名字而不是復(fù)數(shù)名字,那樣更容易理解.
2>原始值的隱式賦值
使用枚舉成員的rawValue屬性可以訪問該枚舉成員的原始值.
當(dāng)使用字符串作為枚舉類型的原始值時(shí)气堕,每個(gè)枚舉成員的隱式原始值為該枚舉成員的名稱。
3>遞歸枚舉
遞歸枚舉(recursive enumeration)是一種枚舉類型畔咧,它有一個(gè)或多個(gè)枚舉成員使用該枚舉類型的實(shí)例作為關(guān)聯(lián)值茎芭。使用遞歸枚舉時(shí),編譯器會(huì)插入一個(gè)間接層誓沸。你可以在枚舉成員前加上indirect來表示該成員可遞歸梅桩。