无法将 'Swift._EmptyArrayStorage' 类型的值转换为 iOS 11、Xcode 9 中的 'NSMutableArray'
Could not cast value of type 'Swift._EmptyArrayStorage' to 'NSMutableArray' in iOS 11, Xcode 9
看来我们无法将 Swift 中的空 var
数组转换为 Objective-C 中的 NSMutableArray
。
var adultTravelerModels: [TravelerDataModel] = []
BookDataManger.sharedInstance().arraySelectedAdultPassenager = adultTravelerModels as! NSMutableArray
/* (lldb) po adultTravelerModels
0 elements */
系统版本为iOS11.0,Xcode9.0.
我们如何解决这个问题?
您必须构造一个新的 NSMutableArray
实例。
这样做:
BookDataManger.sharedInstance().arraySelectedAdultPassenager = NSMutableArray(array: adultTravelerModels)
在Swift4中,不能将swift空数组赋给NSMutableArray
。
但是你可以构造 new NSMutableArray
并分配给需要的地方。
如下图:
BookDataManger.sharedInstance().arraySelectedAdultPassenager = NSMutableArray(array: adultTravelerModels)
看来我们无法将 Swift 中的空 var
数组转换为 Objective-C 中的 NSMutableArray
。
var adultTravelerModels: [TravelerDataModel] = []
BookDataManger.sharedInstance().arraySelectedAdultPassenager = adultTravelerModels as! NSMutableArray
/* (lldb) po adultTravelerModels
0 elements */
系统版本为iOS11.0,Xcode9.0.
我们如何解决这个问题?
您必须构造一个新的 NSMutableArray
实例。
这样做:
BookDataManger.sharedInstance().arraySelectedAdultPassenager = NSMutableArray(array: adultTravelerModels)
在Swift4中,不能将swift空数组赋给NSMutableArray
。
但是你可以构造 new NSMutableArray
并分配给需要的地方。
如下图:
BookDataManger.sharedInstance().arraySelectedAdultPassenager = NSMutableArray(array: adultTravelerModels)