1
我需要做一些簡單的操作,將[AnyObject?]
轉換爲[AnyObject]
。因此數組中的可選項應該被解包,並且如果nil被踢出數組。 Swift中有這樣一個簡單的方法嗎?如何將[AnyObject?]轉換爲[AnyObject]
我需要做一些簡單的操作,將[AnyObject?]
轉換爲[AnyObject]
。因此數組中的可選項應該被解包,並且如果nil被踢出數組。 Swift中有這樣一個簡單的方法嗎?如何將[AnyObject?]轉換爲[AnyObject]
可以做到這一點在2個步驟:
所得陣列映射的所有值代碼:
let arrayOfOptionals: [AnyObject?] = [1, 2, nil, 3, nil, 4]
let arrayOfNonOptionals: [AnyObject?] = arrayOfOptionals.filter({ $0 != nil})
let finalArray: [AnyObject] = arrayOfNonOptionals.map({ $0! })
當然,你可以將過濾器和地圖組合成一個單一的s tatement:
let finalArray = arrayOfOptionals.filter({ $0 != nil}).map({ $0! })
最簡短的回答是
let hetro1 : [AnyObject?] = ["a", nil, 2, 3.4, nil];
var hetro2 : [AnyObject] = [];
for val in hetro1{
if((val) != nil){
hetro2.append(val!)
}
}
println("hetro1 \(hetro1)")
println("hetro2 \(hetro2)")