bridgeToObjectiveC()在Swift中不适用于Array

时间:2014-08-25 01:59:21

标签: ios swift

我知道自Xcode-beta 5以来它无法使用。请参阅thisthis

我有这个来源,它是Array的扩展名:

extension Array {
    func contains(object:AnyObject!) -> Bool {
        if(self.isEmpty) {
            return false
        }

        let array: NSArray = self.bridgeToObjectiveC();

       return array.containsObject(object)
    }
}

我修改了它:

extension Array {
    func contains(object:AnyObject!) -> Bool {
        if(self.isEmpty) {
            return false
        }

        return (self as NSArray).containsObject(object);
    }

不幸的是,这不起作用。错误消息是:

  

无法转换表达式' AnyObject!'输入' NSArray'

我该怎么办?感谢

1 个答案:

答案 0 :(得分:1)

请注意,Swift有一个'find'函数,您可以使用它来查看元素是否在数组中:

find(array,element):C.Index?

如果找不到该项,它将返回nil。您应该使用它而不是包含。