2015-10-02 86 views
-2

我目前正在面對一些關於詞典使用的問題,而我似乎無法解決它。這基本上是什麼問題;Swift詞典錯誤:EXC Bad Instruction

我有一本字典,像這樣:

let dict : Dictionary<String, String> = ["Word1":"Word2", "Word3":""Word4"] 

所以基本上這就是我的字典的樣子,但它與可能超過400個「字1:字2」的方式做大-words。問題是,當我運行代碼時,它會成功構建 - 但是當我在模擬器中運行代碼時,可能會出現類型爲EXC_Bad_Instruction的錯誤。當它(看起來像)超過特定數字時突然發生。假設我嘗試添加「Word5:Word6」。然後我得到一個錯誤,但如果我只保留它與Word1:Word2和Word3:Word4,然後它運行。

有人可以幫我解決這個問題,因爲這真的很讓人沮喪 - 因爲我試圖在代碼中尋找'零',但沒有運氣。

在此先感謝。

+0

你能在更多的代碼的拷貝? – JeremyFromEarth

+1

關鍵詞是_copy_。不要輸入類似於你的代碼的東西。將您的_real code_和_paste_正確複製到您的問題中。 – matt

+0

您可以顯示正在運行的代碼是否獲得EXC?另外,您是否設置了全局斷點,以便在崩潰之前停止在EXC行上?這有助於縮小範圍。 – JiuJitsuCoder

回答

1

我唯一一次能夠複製此錯誤是當是字典中的重複鍵,我會查看列表並確保沒有任何重複的鍵,嘗試將字典複製到操場並在那裏檢查它,如果存在重複的密鑰在某處,它不會,不幸的好吃,向你展示重複的地方。

由於沒有重複: enter image description here

具有重複: enter image description here

+0

非常感謝!幫助了我很多! – anska

+0

太棒了。很高興我能幫上忙! – JiuJitsuCoder

0

看起來你有一個額外的「 試試這個:

let dict:Dictionary<String, String> = ["Word1":"Word2", "Word3":"Word4"] 

它也沒有明確的類型定義:

let dict = ["Word1":"Word2", "Word3":"Word4"] 
+0

哦,是的,我沒有注意到 - 但事實並非如此:/ – anska