2014-06-09 40 views
3

我想將一個枚舉類型添加到數組中,並且出現錯誤。我能夠添加一個字符串和其他類型,但是這個枚舉失敗。有人知道這裏可能會出現什麼問題嗎?將枚舉類型添加到Swift數組時出錯

enum Domain { 
    case Default 
} 

let domains: Array<Domain> = [.Default] 

主題1:EXC_BAD_INSTRUCTION(代碼= EXC_i386_INVOP,子碼=爲0x0)

回答

3

這絕對是一個蘋果的bug - 記錄它! https://bugreport.apple.com

將第二種情況添加到您的枚舉(例如,其他情況)並查看錯誤不再發生。當Enumeration只有一個案例時,Swift會發生一些瘋狂的事情。

+0

錯誤提交:17231673 – banDedo

0

看起來,至少在我玩一個操場,如果枚舉定義包含單詞「域」在所有的任何地方在名稱中枚舉無法編譯/工作。

0

我認爲這只是蘋果的部分編譯錯誤......如果我有下面的代碼,並且僅此代碼,樣樣精運行:

var points = TestEnum[]() 
points += TestEnum.TestValue 

enum TestEnum { 
    case TestValue 
    case SecondTestValue 
} 

不過,我有一個代碼上面的代碼(一簡單的RPN實現,但沒關係)。 RPN代碼本身運行良好。但隨着TestEnum代碼在那裏,RPN代碼崩潰。崩潰是一個EXC_BAD_ACCESS,並根據程序中的代碼行(我猜測是因爲可執行文件中的偏移量發生變化)而在隨機行和不同地址上崩潰。例如,我在點+ =調用後添加了一個println,它在我的RPN代碼的不同部分崩潰。

RPN代碼和TestEnum代碼都可以自行運行。這幾乎肯定是一個蘋果的錯誤。

+0

現在我看到,即使我使用String [] –