
正文
使用isEqual来比较对象
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
比较对象
您可以使用
isEqual:
方法比较两个对象。让接收消息的对象与传入的对象进行比较;如果相同,该方法返回
YES
。例如:
BOOL objectsAreEqual = [obj1 isEqual:obj2]; |
if (objectsAreEqual) {
|
// do something... |
} |
请注意,对象相等与对象相同是有分别的。对于后者,请使用相同运算符
==
测试两个变量是否指向同一个实例。
当您比较同一个类的两个对象时,到底在比较什么?这取决于类。根类
NSObject
将指针相等用作比较基础。任何级别的子类都可覆盖其超类的实现,以让比较基于类特定标准,如对象状态。例如,如果一个假设的 Person 对象和另一个 Person 对象的名字、姓氏和出生日期属性都相符,则这两个对象可能相等。
Foundation 框架的值和集类,声明的比较方法为
isEqualTo
Type
:
格式,其中
Type
是类类型减去 NS 前缀,如
isEqualToString:
和
isEqualToDictionary:
。此比较方法会假定传入的对象属于给定类型,否则会引发异常。






