我有 NSArray,我想从中删除重复项。我知道使用此方法 [NSSet setWithArray:[arrAllValues valueForKey:@"value"]] 我也知道它调用 valueForKey 参数中指定的方法。但我不知道 NSSet 调用什么方法来比较数组中的对象。我的问题是我想比较名为“value”的属性,但我想返回包含属性而不是属性的对象数组。我可以这样做吗?
谢谢 !!!
我有 NSArray,我想从中删除重复项。我知道使用此方法 [NSSet setWithArray:[arrAllValues valueForKey:@"value"]] 我也知道它调用 valueForKey 参数中指定的方法。但我不知道 NSSet 调用什么方法来比较数组中的对象。我的问题是我想比较名为“value”的属性,但我想返回包含属性而不是属性的对象数组。我可以这样做吗?
谢谢 !!!
它使用NSObject 协议参考方法比较它们:
- (BOOL)isEqual:(id)anObject
因此,您可以在您的类中重写此方法以实现所需的行为,就像您在 Java 中所做的一样,您也应该重写 hash。