如何将一组快速元组转换为NSMutableArray?

VYT*_*VYT 6 arrays casting nsmutablearray swift

我有快速的元组数组,[(String, String)]并希望将此数组转换为NSMutableArray.我试过这个并没有用:

let myNSMUtableArray = swiftArrayOfTuples as! AnyObject as! NSMutableArray
Run Code Online (Sandbox Code Playgroud)

Nir*_*rma 10

由于swift类型喜欢TupleStruct没有Objective-C中的等价物,因此无法将它们强制转换或引用AnyObject,NSArray并将NSMutableArray其元素类型约束为.

如果必须从快速的元组数组返回NSMutableArray,那么下一个最好的事情可能是返回一个包含2个元素数组的数组:

let itemsTuple = [("Pheonix Down", "Potion"), ("Elixer", "Turbo Ether")]
let itemsArray = itemsTuple.map { [$0.0, $0.1] }
let mutableItems = NSMutableArray(array: itemsArray)
Run Code Online (Sandbox Code Playgroud)

  • `NSMutableArray(array: itemsArray)` 这就是窍门 (2认同)