NSPredicates与自定义对象

时间:2010-04-05 22:42:26

标签: nsarray nsset iphonecoredatarecipes

我有以下问题,我无法弄清楚如何解决它。我有一个包含Person对象的NSSet(带有2个键的NSDictionary:name,age)。我不时会得到一个人物对象的NSArray,我想将它们添加到我的NSSet,但我想过滤掉重复项。我想我可以使用NSPredicates,但我正在阅读文档,我无法理解我应该如何格式化我的NSPredicate来根据我在NSSet中已经拥有的内容过滤掉我的数组内容。

所以我有一个带有5个自定义对象的NSSet,我得到一个带有6个对象的NSArray,但是其中有3个已经存在于NSSet中,我想要将它们过滤掉。我理解我应该用字符串,整数等基本对象做什么,但我不知道如何扩展它以使用自定义更复杂的对象。

我希望我对自己的问题很清楚。非常感谢任何起点,示例或建议。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果你已经拥有一套可变的套装,那么你真的不需要做任何特殊的事情。如果您在将来的某个时刻获得相同的Person实例,addObject:将完全忽略它。如果你有一个不同的“相等”的含义,而不仅仅是两个对象是同一个实例,那么你必须自己处理它,但是如果你的新对象为isEqual返回YES:那么addObject:你也会忽略它把它放在集合中。