根据任何项目是否为空,我looking at ways将Array<T?>
转换为Array<T>?
。当我无法找到一个简短的方法时,我考虑过这样做的一个选项就是在Array
为此创建一个扩展方法,但我无法弄清楚如何去做。
我怎么能改变这种方法:
func toNonNullable<T>(array: [T?]) -> [T]? {
if array.filter({$0 == nil}).count != 0 {
return nil;
}
return array.map({$0!})
}
到Array
上的扩展方法?
我不是在问这个扩展方法是否是一个好主意(我不相信它),我是怎么做到的(如果可能的话)。