【问题标题】:How NSSet compares values in array to remove duplicates when using SetWithArrayNSSet 在使用 SetWithArray 时如何比较数组中的值以删除重复项
【发布时间】:2012-03-23 13:14:04
【问题描述】:

我有 NSArray,我想从中删除重复项。我知道使用这种方法 [NSSet setWithArray:[arrAllValues valueForKey:@"value"]] 我也知道它调用 valueForKey 参数中指定的方法。但我不知道 NSSet 调用什么方法来比较数组中的对象。 我的问题是我想比较名为“value”的属性,但我想返回包含属性而不是属性的对象数组。我可以这样做吗?

谢谢!!!

【问题讨论】:

标签: objective-c nsarray duplicates nsset


【解决方案1】:

它使用NSObject protocol reference 方法比较它们:

- (BOOL)isEqual:(id)anObject

因此,您可以在类中重写此方法以实现所需的行为,就像在 Java 中所做的一样,您也应该重写哈希。

【讨论】:

  • 感谢奥斯卡的回答!!!有效!!我只是不知道要覆盖哪些方法!!
猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 2013-04-17
  • 2011-12-18
  • 2017-06-09
  • 2014-12-16
  • 2017-12-31
  • 2011-11-05
  • 2019-05-22
相关资源
最近更新 更多