我有两个数组
var arr1 = [NSArray]()
var arr2 = [String]()
我想将 NSArray
转换成字符串数组
我正在使用
arr2 = arr1 作为! [字符串]
但它给我错误:-
'NSString' is not a subtype of 'NSArray'
还有其他方法可以转换吗?
最佳答案
var arr1 = [NSArray]()
是 NSArray 的快速数组。您对 NSArray
为了将 NSArray
转换为 swift Array
使用正确的语法:
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.compactMap({ $0 as? String })
不需要强制转换。
关于ios - 如何在 swift 3 中将 NSArray 转换为 Swift 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40646756/