2016-11-17 35 views
0

我有兩個陣列如何的NSArray轉換成斯威夫特陣列中迅速3

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

我想NSArray轉換成字符串數組 我使用

ARR2 = ARR1的! [字符串]

但它給我的錯誤: -

'NSString' is not a subtype of 'NSArray' 

是否有任何其他方法轉換?

+0

arr1是'數組'(NSArray的快速數組),而不是'NSArray' –

+0

如何轉換可以請你建議? –

+0

您應該首先閱讀有關swift語法的信息...... – Tj3n

回答

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

無需強制鑄造。