简体   繁体   English

如何在swift 3中将NSArray转换为Swift数组

[英]How to convert NSArray into Swift Array in swift 3

I have two array 我有两个阵列

var arr1 = [NSArray]()
var arr2 = [String]()

And I want to convert NSArray into String Array I am using 我想将NSArray转换为我正在使用的字符串数组

arr2 = arr1 as! arr2 = arr1 as! [String] [串]

But it giving me error :- 但它给了我错误: -

'NSString' is not a subtype of 'NSArray'

Is there any other method to convert? 还有其他方法可以转换吗?

var arr1 = [NSArray]() 

is a swift array of NSArray. 是一系列快速的NSArray。 You are using wrong syntax for NSArray 您使用的NSArray语法错误

In order to convert NSArray to swift Array 为了将NSArray转换为swift Array

Use the proper syntax: 使用正确的语法:

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)
}

It will print 它会打印出来

["a", "b", "c"]

Another way 其他方式

let swiftArray: [String] = objCArray.compactMap({ $0 as? String })

no forced casting required. 不需要强制铸造。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM