比较不同数组中的对象属性(objective-c)



我有一个可以按天查看的当前动物对象数组,例如,星期一将返回星期一可用的所有动物,等等。

我还有一系列保存的动物物品。

如何确保保存的动物不会出现在当前动物列表中?

类似于,如果currentAnimal.name等于savedAnimal.name?

我需要两个数组中的对象,所以比较.name属性很重要?

如果您认为这是使对象"相等"的原因,则覆盖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];
}

如果希望对象严格等于或方法为isKindOfClass,则应使用isEqual方法。查看NSObject引用

最新更新