2014-06-08 54 views
2

當我在枚舉使用fromRaw與分配在編譯的時候,像這樣的變量:爲什麼fromRaw()在使用變量作爲參數時返回nil?

int i = 3; 
let tmpRank = Rank.fromRaw(i); 

它按預期工作。但是,如果我嘗試同樣的事情在for循環中,像這樣:

for i in 0..3 { 
    let tmpRank = Rank.fromRaw(i); 
} 

它不工作,我的操場返回nil此行。我究竟做錯了什麼?

+1

is Rank.fromRaw(0)nil?你的循環從0開始 –

回答

3

如果您使用的是在迅速本書中的排名枚舉,不存在具有0

for i in 1..3 { 
let tmpRank = Rank.fromRaw(i); 
println(tmpRank) 
} 

返回所有枚舉值的原始值爲任何情況下。

+0

天哪,我不敢相信我弄錯了這個。我只是假設for循環仍然會持續超過0,但顯然不是。謝謝一堆! – evilgoldfish

+1

這對我來說確實不錯,只是很難在操場上看到它。你必須點擊價值歷史。 – Dash

+1

@evilgoldfish如果你打開助手編輯器來查看控制檯並使用println你可以看到每一個 – connor

相關問題