我需要做一些简单的事情,比如将[AnyObject?]转换为[AnyObject]。因此,数组中的选项应该被打开,如果零被踢出数组。在Swift里有什么简单的方法吗?
发布于 2014-10-10 10:51:01
您可以分两步完成:
代码:
let arrayOfOptionals: [AnyObject?] = [1, 2, nil, 3, nil, 4]
let arrayOfNonOptionals: [AnyObject?] = arrayOfOptionals.filter( { $0 != nil} )
let finalArray: [AnyObject] = arrayOfNonOptionals.map( { $0! } )当然,您可以将过滤器和映射组合成一个语句:
let finalArray = arrayOfOptionals.filter( { $0 != nil} ).map( { $0! } )发布于 2014-10-10 11:14:45
最短的答案是
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)")https://stackoverflow.com/questions/26297539
复制相似问题