我创建了一个数组,空atm:var textArray: NSMutableArray! = NSMutableArray()
我正在尝试使用像本教程这样的数据填充此数组:https://youtu.be/0qE8olxB3Kk但我的数据并不像他那样简单,它们来自JSON(字典数组)并且类型为{ {1}}我可以根据需要更新此主题,但如果这些帖子没用,我不会用过多的代码重载此帖子。
当我像这样填充我的数组时:AnyObject?!
我收到错误消息self.textArray.addObject(summary)
其中cannot invoke 'addObject' with an argument list of type '(AnyObject?!)'
是我的JSON字典之一,类型为summary
。
我知道数组应该由AnyObject?!
类型的数据填充。
有没有办法将AnyObject
转换为AnyObject?!
?我没有看到像AnyObject
这样的任何类型,所以问题就在那里,我不知道......
感谢您的帮助,我可以通过HTTP Post Post或任何其他信息从JSON中提取字典来更新此主题。
此致
fselva
答案 0 :(得分:2)
您必须双重展开 AnyObject?!
变量:
let obj = "Alice" as AnyObject?!
var arr = [AnyObject]()
arr.append(obj!!)
答案 1 :(得分:2)
您需要打开两次可选项。
var textArray: NSMutableArray! = NSMutableArray()
var a:AnyObject?! = "hello"
你可以用强制解包来做到这一点:
textArray.addObject(a!!)
但这是不安全的,如果其中一个是nil
,则会崩溃。安全地使用它的方法是使用可选的绑定:
if let temp1 = a, temp2 = temp1 {
textArray.addObject(temp2)
}