我有以下问题,我无法弄清楚如何解决它。我有一个包含Person对象的NSSet(带有2个键的NSDictionary:name,age)。我不时会得到一个人物对象的NSArray,我想将它们添加到我的NSSet,但我想过滤掉重复项。我想我可以使用NSPredicates,但我正在阅读文档,我无法理解我应该如何格式化我的NSPredicate来根据我在NSSet中已经拥有的内容过滤掉我的数组内容。
所以我有一个带有5个自定义对象的NSSet,我得到一个带有6个对象的NSArray,但是其中有3个已经存在于NSSet中,我想要将它们过滤掉。我理解我应该用字符串,整数等基本对象做什么,但我不知道如何扩展它以使用自定义更复杂的对象。
我希望我对自己的问题很清楚。非常感谢任何起点,示例或建议。
谢谢!
答案 0 :(得分:0)
如果你已经拥有一套可变的套装,那么你真的不需要做任何特殊的事情。如果您在将来的某个时刻获得相同的Person实例,addObject:将完全忽略它。如果你有一个不同的“相等”的含义,而不仅仅是两个对象是同一个实例,那么你必须自己处理它,但是如果你的新对象为isEqual返回YES:那么addObject:你也会忽略它把它放在集合中。