我有两个数组
var arr1 = [NSArray]()
var arr2 = [String]()
我想将NSArray
转换为String Array
我正在使用
arr2 = arr1 as! [字符串]
但它给了我错误: -
'NSString' is not a subtype of 'NSArray'
还有其他方法可以转换吗?
答案 0 :(得分:11)
var arr1 = [NSArray]()
是NSArray的快速阵列。您使用的NSArray
为了将NSArray
转换为swift数组
使用正确的语法:
var arr1 = NSArray(objects: "a","b","c")
var objCArray = NSMutableArray(array: arr1)
if let swiftArray = objCArray as NSArray as? [String] {
// Use swiftArray here
print(swiftArray)
}
会打印
["a", "b", "c"]
另一种方式
let swiftArray: [String] = objCArray.flatMap({ $0 as? String })
不需要强迫施法。