无法在iOS 11中将'Swift._EmptyArrayStorage'类型的值转换为'NSMutableArray',Xcode 9

时间:2017-09-21 09:25:55

标签: ios swift nsmutablearray

看起来我们无法将Swift中的空var数组转换为Objc中的NSMutableArray。

var adultTravelerModels: [TravelerDataModel] = []
BookDataManger.sharedInstance().arraySelectedAdultPassenager = adultTravelerModels as! NSMutableArray
/* (lldb) po adultTravelerModels
0 elements */

系统版本为iOS 11.0,Xcode 9.0。

我们如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

这样做:

BookDataManger.sharedInstance().arraySelectedAdultPassenager = NSMutableArray(array: adultTravelerModels)

答案 1 :(得分:3)

在Swift 4中,您无法将swift空数组分配给NSMutable Array。 但是您可以构造新的NSMutable Array并分配到需要的位置。 如下所示:

BookDataManger.sharedInstance()。arraySelectedAdultPassenager = NSMutableArray(array:adultTravelerModels)

答案 2 :(得分:2)

您必须构建NSMutableArray的新实例。