如何检查 Swift 数组是否包含对象的特定实例?考虑这个简单的例子:
class Car {}
let mazda = Car()
let toyata = Car()
let myCars = [mazda, toyata]
myCars.contains(mazda) // ERROR!
我的调查让我得出结论,Car班级必须采用该Equatable协议。似乎是这样:
class Car: Equatable {
static func ==(lhs: Car, rhs: Car) -> Bool {
return true
}
}
然后myCars.contains(mazda)确实返回true。
但是,执行==显然不是我想要的。我真正希望它返回的是问题的答案:是否lhs和rhs相同的Car实例?
真的有那么复杂吗?
谢谢!