加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift数组和包含,如何确定集合是否包含对象或值?

发布时间:2020-12-14 06:01:23 所属栏目:百科 来源:网络整理
导读:Im再次与swift数组和containsObject提供的NSArray只! 我把swift数组桥接到NSArray来做,包含: extension Array { func contains(object:AnyObject!) - Bool { if(self.isEmpty) { return false } let array: NSArray = self.bridgeToObjectiveC(); return
Im再次与swift数组和containsObject提供的NSArray只!

我把swift数组桥接到NSArray来做,包含:

extension Array {
    func contains(object:AnyObject!) -> Bool {
        if(self.isEmpty) {
            return false
        }
        let array: NSArray = self.bridgeToObjectiveC();
        return array.containsObject(object)
    }
}

它工作正常,但一旦我把一个字符串!在String类型的数组中,它崩溃。即使containsObject不带AnyObject!

var str : String! = "bla"
        var c = Array<String>();
        c.append(str)
        println(c.contains(str))

声明一个String!数组也没有帮助

var str : String! = "bla"
        var c = Array<String!>();
        c.append(str)
        println(c.contains(str))

但同样没有!工作正常

var str : String = "bla"
        var c = Array<String>();
        c.append(str)
        println(c.contains(str))

所以我怎么明确包装东西?我真的不明白为什么我必须明确包装它,所以它是正确的解开,但它是什么样子…

Swift 1:
let array = ["1","2","3"]
let contained = contains(array,"2")
println(contained ? "yes" : "no")

Swift 2& Swift 3:

let array = ["1","3"]
let contained = array.contains("2")
print(contained ? "yes" : "no")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读