Objective-C对象等同性的理解

来源:互联网 发布:ubuntu设置windows引导 编辑:程序博客网 时间:2024/04/30 13:10
根据“等同性”(equality)来比较对象是一个非常有用的功能。不过,按照==操作符比较出来的结果未必是我们想要的,因为该操作比较的是两个指针本身,而不是其所指的对象。应该使用NSObject协议中声明的“isEqual”方法来判断两个对象的等同性。自定义的Objective-C对象要实现“isEqual”,需得重写两个关键方法:
- (BOOL)isEqual:(id)object;- (NSUInteger)hash;
NSObject类对- (BOOL)isEqual:(id)object方法默认的实现是,只有当其指针值完全相等时,这两个对象才相等。
0 0