gpt4 book ai didi

ios - 错误 : Deployment Update target 8. 3 NSMutableArray 和 addObjectsFromArray - swift

转载 作者:搜寻专家 更新时间:2023-11-01 06:23:18 25 4
gpt4 key购买 nike

更新 xcode 和我的设备后,某些功能不再运行。看到它:

var jsonUnico: NSMutableArray! = jsonResult["lista"] as? NSMutableArray
self.tableList.addObjectsFromArray(jsonUnico)

错误:无法使用类型为“(NSMutableArray!)”的参数列表调用“addObjectsFromArray”

昨天升级前还可以用

注意:表列表是一个 NSMutableArray

最佳答案

Swift 1.2 不再在 NSArray 和 Swift 的原生数组类型之间隐式转换——你需要显式地从一个转换到另一个。由于 addObjectsFromArray 采用 Swift 数组,这意味着您需要将其转换为 [AnyObject]

通常你会得到更有用的错误信息:error: 'NSMutableArray' is not implicitly convertible to '[AnyObject]';您是要使用“as”来显式转换吗?,并提供“修复它”的功能。但看起来这并没有发生,因为您使用了隐式展开的可选 NSMutableArray!

但是……这并不是一件坏事,因为在从字典中获取值时使用隐式展开的可选值是危险的(如果条目不存在,您的应用程序将会崩溃)。另一种方法是:

if let jsonUnico = jsonResult["lista"] as? NSMutableArray {
let tableList = NSMutableArray()
// Xcode will recommend adding the "as [AnyObject]"
tableList.addObjectsFromArray(jsonUnico as [AnyObject])
}

但是既然你已经在上面做了一个as,你不妨把它们结合起来:

if let jsonUnico = jsonResult["lista"] as? [AnyObject] {
tableList.addObjectsFromArray(jsonUnico)
}

关于ios - 错误 : Deployment Update target 8. 3 NSMutableArray 和 addObjectsFromArray - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com