我正在尝试将Firebase中的数据附加到属于NSObject的名为var itemNumbers: [[String: AnyObject]]!
的变量中。这就是fetch的样子:
let orderItems = snapDict["itemNumbers"] as! [String:String]
self.NSOBJECT.itemNumbers.append(orderItems as [String : AnyObject])
print(orderItems)
当我这样做时,app会中断我尝试将orderItems附加到数组的位置。这是我的错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
JSON:
{ "order": {
"itemNumbers" : {
"1": "Item Description",
"2": "Item Description"
}
}
}
在尝试追加它之前,是否需要将orderItems转换为其他内容?
感谢您的帮助!
答案 0 :(得分:1)
提及评论
如果你想追加order
,那么另一方面使用[[String: AnyObject]]
为itemNumbers
附加[String:String]
guard let itemNumbers= snapDict["itemNumbers"] as? [String:String] else{
return
}
self.NSOBJECT.itemNumbers.append(itemNumbers)
或
guard let orderItems = snapDict["order"] as? [[String: AnyObject]] else{
return
}
self.NSOBJECT.itemNumbers.append(orderItems)
注意:避免有问题的隐式转换[[String: AnyObject]]!
答案 1 :(得分:1)
纠正你的json,因为很多字段都不正确。
从
创建变量itemNumbers var itemNumbers: [[String:AnyObject]]!
到
var itemNumbers: [[String:AnyObject]] = [] //if nil instantiate
因为itemsNumbers
是可选的。
并附加为
let order = jsonDictionary["order"] as! [String:AnyObject]
let tempItemNumbers = order["itemNumbers"] as! [String:AnyObject]
self.NSOBJECT.itemNumbers.append(tempItemNumbers)
print( self.NSOBJECT.itemNumbers)