ios - 无法将类型 'Swift._ContiguousArrayStorage<Swift.AnyObject>' 的值转换为 'NSMutableArray'

标签 ios swift xcode nsmutablearray anyobject

我不小心将手机中的 iOS 版本从 10.3.3 更新到了 11.0.3。因此,我不得不将我的 xcode 升级到最新的 9.1 版本。现在,当我在 xcode 9.1 中运行我的代码时,它出现了

could not cast value of type 'Swift._ContiguousArrayStorage' to 'NSMutableArray'

似乎不再有从“AnyObject”数组到“NSMutableArray”的转换。但是我在整个代码中都使用了这种转换。我花了将近一天的时间尝试使用 [[String : AnyObject]] 而不是 [AnyObject] 这不是一个好主意,因为它会影响整个代码并且感觉我正在从头开始重新编写我的代码。任何人都可以提出更好的解决方案吗?

最佳答案

通过使用解决了

(MyAnyObjectArray! as NSArray).mutableCopy() as! NSMutableArray

代替

MyAnyObjectArray as! NSMutableArray

当我使用 xcode 8.3.3 和 swift 3.2 时,使用 .mutableCopy() 很容易出错。不过现在看来可以用了。有点困惑。 :(

关于ios - 无法将类型 'Swift._ContiguousArrayStorage<Swift.AnyObject>' 的值转换为 'NSMutableArray',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47067205/

相关文章:

swift - MPSNNGraph reshape 节点

ios - 具有所有实例的全局状态的自定义 UIControl 元素

ios - 可解码多个 DateDecodingStrategies

ios - 如何确定特定时区的当前时间是否在给定时间之后?

xcode - xcrun : error: unable to lookup item 'Path' in SDK 'macosx'

iphone - 为什么在定义方法后会出现 "unrecognised selector sent to instance"错误?

iphone - 苹果会拒绝带有多个警告的 iOS 应用吗?

ios - 将项目附加到字典中的数组不起作用

ios - 加速框架 "sign"函数

ios - 我是否必须购买域才能运行我的应用程序,该应用程序在 AWS 服务器上使用 EC2 实例以使用 HTTPS?