Swift在集合类型中检查nil的最佳方法

时间:2016-04-27 00:07:19

标签: arrays swift

我希望像anArray.contains(nil)之类的东西可行,但它不会。

我能做的最好的事就是创建一个像这样的扩展名:

extension Array {
    func containsNil() -> Bool {
        return self.filter({ $0 == nil }).count > 0
    }
}

还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

您的扩展程序将始终必须遍历所有元素,以计算nil元素的数量。如果计数大于0,则返回。您收集的信息超出了您的需要。你似乎没有使用nil元素的数量。所有你关心的是如果数组中有一个nil。

相反,您可以简单地遍历数组,并在第一次找到nil时返回true。