第八条:理解“对象等同性”这一概念

isEqualToString 比isEqual 快,因为后者还要之行额外的步骤,因为它不知道受检测的对象类型。
 
NSOBject协议中有连个用于判断等同性的关键方法:
- (BOOL)isEqual:(id)object;
- (NSUInterger)hash;
 
要点:
  1. 若想检测对象的等同性,请提供“isEqual:” 于hash方法。
  2. 相同的对象必须具有相同的哈希码,但是两个相同的哈希码的对象却未必相同。
  3. 不要盲目的逐个检测每条属性,而是应该依照具体的需求来制定检测方案。
  4. 编写hash方法是,应该使用计算速度快而且哈希码碰撞几率低的算法。
 
posted @ 2016-08-29 14:21  萧十一郎oo  阅读(151)  评论(0编辑  收藏  举报