我最近学会了如何定义isEqualToCustomClass:
来比较该类的实例(类似于NSString
的{{1}})。
在我的项目中,我需要多次比较这些对象的数组。当且仅当计数相同且每个位置的自定义对象相同(顺序必须相同)时,我认为它们相等。
在整个申请过程中提供此功能的正确方法是什么?我应该继承isEqualToString:
并添加自定义NSArray
吗?还是一个类别?或者其他一些实用程序类只需要两个这样的数组并对它们进行比较?
答案 0 :(得分:4)
-[NSArray isEqualToArray:]
使用数组成员的isEqual:
方法来测试与另一个数组的相等性。如果您愿意,-[NSArray isEqual:]
会致电isEqualToArray:
。
然后,您需要的只是isEqual:
在您的班级中实施。
N.B。:Apple建议,无论何时为类实现isEqual:
,都必须实现hash
,以便比较相等的对象也具有相同的哈希值。 Mike Ash goes into some detail on this。