项目经验

swift === 与 ==的区别

2017-05-11  本文已影响350人  邓国辉

=== 三个等号,比较的是否为同一指针,同一指针就返回true,不同指针返回false;

两个对象使用 == 进行比较时,需要对象实现了Equatable协议;
下面举个例子:

class MyClass: Equatable {
  let myProperty: String

  init(s: String) {
    myProperty = s
  }
}

func ==(lhs: MyClass, rhs: MyClass) -> Bool {
  return lhs.myProperty == rhs.myProperty
}

let myClass1 = MyClass(s: "Hello")
let myClass2 = MyClass(s: "Hello")
myClass1 == myClass2 // true
myClass1 != myClass2 // false
myClass1 === myClass2 // false
myClass1 !== myClass2 // true
上一篇 下一篇

猜你喜欢

热点阅读