我再次使用swift阵列和仅由NSArray提供的containsObject
我将swift阵列桥接到NSArray以执行以下操作:
扩展数组{
func包含(对象:AnyObject!)->;Bool{
如果(自己是空的){
返回错误
}
let数组:NSArray=self.bridgeToObjective();
返回数组.containsObject(对象)
}
}
一般来说,它工作得很好,但只要我放一根绳子!在字符串类型的数组中,它会崩溃。即使ContainesObject确实接受AnyObject
var str:String!=“布拉”
var c=数组<;字符串>;();
c、 附加(str)
println(c.contains(str))
声明一个字符串!数组也没有帮助
var str:String!=“布拉”
var c=数组<;绳子&燃气轮机;();
c、 附加(str)
println(c.contains(str))
但是没有也一样工作正常
var str:String=“bla”
var c=数组<;字符串>;();
c、 附加(str)
println(c.contains(str))
那么我如何明确地包装东西呢?我真的不明白为什么我必须显式地包装它,只有这样它才是正确的展开,但这就是它看起来的样子
Swift 1:
让数组=[“1”、“2”、“3”]
let contained=contains(数组,“2”)
println(包含?“是”:“否”)
Swift 2、3、4:
让数组=[“1”、“2”、“3”]
let contained=array.contains(“2”)
打印(包含?“是”:“否”)