我有一个模型类(NSObject
的子类),我存储在2个可变数组中。在一个数组中,我直接存储对象,而在另一个数组中,我使用[myObject copy]
存储它的副本。我想通过忽略指针,即它们存储的地址来比较这两个数组。如果对象匹配,则应返回YES
。
我尝试使用isEqualToArray
,但它对NSObject
子类不起作用,因为它也会比较指针。
建议或任何解决此问题的工作表示赞赏。
答案 0 :(得分:1)
你必须在NSObject的子类中重写两个方法:
- (BOOL)isEqual:(id)object
- (NSUInteger)hash
添加你想要的逻辑isEqual方法,例如:
- (BOOL)isEqual:(id)object
{
MyObject *obj = (MyObject*)object;
if ([self.name isEqualToString obj.name])
return YES;
else
return NO;
}
网上有很多例子。之后你可以cal isEqual来比较你的对象。 希望这有帮助。