我有一系列当前可以在白天观看的动物物品 - 例如,星期一将返回星期一可用的所有动物等。
我还有一组已保存的动物对象。
如何确保已保存的动物不会出现在当前动物列表中?
如果currentAnimal.name等于savedAnimal.name?
我需要两个数组中的对象,所以我认为比较.name属性很重要吗?
答案 0 :(得分:4)
覆盖isEqual和hash以对名称进行比较,如果这是您认为使对象“相等”的话。
- (BOOL)isEqual:(id)other {
if (other == self)
return YES;
if (!other || ![other isKindOfClass:[self class]])
return NO;
return [((MyObject *)other).name isEqualToString:name];
}
和
- (NSUInteger)hash {
return [name hash];
}
答案 1 :(得分:0)
如果您希望对象严格等于或方法isKindOfClass,则应使用isEqual方法。 看NSObject reference