第八条:理解“对象等同性”这一概念
Posted 萧十一郎oo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八条:理解“对象等同性”这一概念相关的知识,希望对你有一定的参考价值。
isEqualToString 比isEqual 快,因为后者还要之行额外的步骤,因为它不知道受检测的对象类型。
NSOBject协议中有连个用于判断等同性的关键方法:
- (BOOL)isEqual:(id)object;
- (NSUInterger)hash;
要点:
- 若想检测对象的等同性,请提供“isEqual:” 于hash方法。
- 相同的对象必须具有相同的哈希码,但是两个相同的哈希码的对象却未必相同。
- 不要盲目的逐个检测每条属性,而是应该依照具体的需求来制定检测方案。
- 编写hash方法是,应该使用计算速度快而且哈希码碰撞几率低的算法。
以上是关于第八条:理解“对象等同性”这一概念的主要内容,如果未能解决你的问题,请参考以下文章
《Effective Objective-C 2.0 》 阅读笔记 item8