當我在枚舉使用fromRaw與分配在編譯的時候,像這樣的變量:爲什麼fromRaw()在使用變量作爲參數時返回nil?
int i = 3;
let tmpRank = Rank.fromRaw(i);
它按預期工作。但是,如果我嘗試同樣的事情在for循環中,像這樣:
for i in 0..3 {
let tmpRank = Rank.fromRaw(i);
}
它不工作,我的操場返回nil此行。我究竟做錯了什麼?
當我在枚舉使用fromRaw與分配在編譯的時候,像這樣的變量:爲什麼fromRaw()在使用變量作爲參數時返回nil?
int i = 3;
let tmpRank = Rank.fromRaw(i);
它按預期工作。但是,如果我嘗試同樣的事情在for循環中,像這樣:
for i in 0..3 {
let tmpRank = Rank.fromRaw(i);
}
它不工作,我的操場返回nil此行。我究竟做錯了什麼?
如果您使用的是在迅速本書中的排名枚舉,不存在具有0
for i in 1..3 {
let tmpRank = Rank.fromRaw(i);
println(tmpRank)
}
返回所有枚舉值的原始值爲任何情況下。
天哪,我不敢相信我弄錯了這個。我只是假設for循環仍然會持續超過0,但顯然不是。謝謝一堆! – evilgoldfish
這對我來說確實不錯,只是很難在操場上看到它。你必須點擊價值歷史。 – Dash
@evilgoldfish如果你打開助手編輯器來查看控制檯並使用println你可以看到每一個 – connor
is Rank.fromRaw(0)nil?你的循環從0開始 –