2015-04-23 75 views
1

我想創建字典喜歡這裏添加具有零值的字典數組:無法在迅速

var dicItem = ["dataOfChange": 21-01-2012, "item": nil, "orderer": nil, "song": 1, "itemId": 3447, "petro": nil] 

我在loop和循環創造dicItem當創建dicItem我想將它添加到數組: array.append(serStatdicItemusJSON)
這是我的數組:

var data = [[String:AnyObject]]() 

但我收到以下錯誤,當試圖添加到陣列:

fatal error: attempt to bridge an implicitly unwrapped optional containing nil 

我認爲這是因爲零,但不能解決如何解決它。

+0

你'dicItem'是一種'[字符串,INT]的'因爲你沒有使用' 「」'。這只是你的錯誤或者你的代碼中沒有''''? – Apoorv

回答

3

在字典中的項目需要有一個objectnil不是對象,這就是爲什麼你得到了錯誤

有一對夫婦的解決方案:。

  1. 使用if聲明來檢查值是否爲nil。當值不是nil時,只將鍵/值對添加到字典中。

  2. 使用NSNull,這是一個對象,而不是nil

  3. 寫一個函數轉換nilempty string (""),並且每次你想添加一些東西到字典中時調用該函數。

+0

'可選? NSNull'實際上是一個好主意 –

0

的NSNull類定義您使用單獨的對象在其中零是被禁止的值(通常在收集對象諸如數組或字典)的情況來表示空值。」

Apple Developer

4

您應該設置類型爲[String:AnyObject?]

var dicItem: [String:AnyObject?] = ["dataOfChange": 21-01-2012, "item": nil, "orderer": nil, "song": 1, "itemId": 3447, "petro": nil]