我應該明確指定超類和應包含從0開始在Swift中的整數值的枚舉的起始值嗎?我是否應該明確指定超類和Swift中枚舉的起始值
enum Foo: Int {
case Bar
case Baz
}
在此先感謝。
我應該明確指定超類和應包含從0開始在Swift中的整數值的枚舉的起始值嗎?我是否應該明確指定超類和Swift中枚舉的起始值
enum Foo: Int {
case Bar
case Baz
}
在此先感謝。
這不完全是枚舉的超類(儘管看起來像),而是原始值類型。
如果您想爲每個枚舉大小寫賦值,那麼您必須指定類型,可以是Int
,也可以是String
以及任何可以用文字初始化的其他類型。
如果原始值類型是任何整數類型,則可以省略與每個案例關聯的值,在這種情況下,將自動分配從0開始的增量值。非整數類型必須爲每個類型明確指定一個值案件。
但是,如果我沒有明確指定類型,我沒有rawValue方法,對吧? – FrozenHeart 2014-12-01 22:21:48
是的,這是正確的。唯一可用的屬性是'hashValue',它顯然是一個增量整數(參見[這個答案](http://stackoverflow.com/a/27094973/148357)) – Antonio 2014-12-01 22:31:23
號爲什麼你想要? – Mundi 2014-12-01 21:39:25