【发布时间】:2014-05-13 22:09:50
【问题描述】:
我有一个数组,想将另一个数组中的 N 个项目附加到它,但只有当前数组中不存在的项目。
注意,item 的唯一性不是由对象内存决定的,而是由它的内容决定的。例如,我可以有两个名为“David”的不同对象,而我在最终结果中只有一个。
什么是执行此操作的有效方法?我已经查看了使用 NSPredicate 和 NSOrderedSet 的选项。
【问题讨论】:
-
听起来你想使用 NSSet、NSOrderedSet 和可变对应物。
-
@vikingosegundo - 能像他要求的那样过滤独特的对象吗?内存中不重复但基于匹配属性重复的对象?
-
只需在
Person中覆盖isEqual:就可以了 -
当然,如果公平性得到正确实现。 nshipster.com/equality
-
@vikingosegundo - 感谢您的文章和澄清......好东西。
标签: objective-c nsarray nspredicate nsset