无法将具有 nil 值的字典添加到 swift 中的数组
Can't add dictionaries with nil values to array in swift
我正在尝试像这里一样创建字典:
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
我认为这是因为 nil 的原因,但不知道如何解决。
NSNull class 定义了一个单例对象,用于在禁止 nil 作为值的情况下(通常在数组或字典等集合对象中)表示空值。"
字典中的项目必须是 object
。 nil
不是对象,这就是您收到错误的原因。
有几个解决方案:
使用 if
语句检查值是否为 nil
。只有当值不是 nil
.
时才将 key/value 对添加到字典中
使用 NSNull
,这是一个对象,而不是 nil
。
写一个函数把nil
转换成empty string ("")
,每次你想往字典里加东西的时候调用这个函数。
您应该将类型设置为 [String:AnyObject?]
var dicItem: [String:AnyObject?] = ["dataOfChange": 21-01-2012, "item": nil, "orderer": nil, "song": 1, "itemId": 3447, "petro": nil]
我正在尝试像这里一样创建字典:
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
我认为这是因为 nil 的原因,但不知道如何解决。
NSNull class 定义了一个单例对象,用于在禁止 nil 作为值的情况下(通常在数组或字典等集合对象中)表示空值。"
字典中的项目必须是 object
。 nil
不是对象,这就是您收到错误的原因。
有几个解决方案:
使用
if
语句检查值是否为nil
。只有当值不是nil
. 时才将 key/value 对添加到字典中
使用
NSNull
,这是一个对象,而不是nil
。写一个函数把
nil
转换成empty string ("")
,每次你想往字典里加东西的时候调用这个函数。
您应该将类型设置为 [String:AnyObject?]
var dicItem: [String:AnyObject?] = ["dataOfChange": 21-01-2012, "item": nil, "orderer": nil, "song": 1, "itemId": 3447, "petro": nil]