2015-04-23 60 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]