iPhone - 如何构建唯一项目列表

时间:2009-06-25 22:16:59

标签: iphone objective-c cocoa-touch

我想要一个只包含唯一项目的数组。我知道我可以使用NSDictionary添加带有键的项目,然后获取allKeys。这样可以确保NSArray只包含唯一的项目,但我觉得这样做太过分了,并且相信应该有一种更简单的方法来做到这一点,但找不到。

3 个答案:

答案 0 :(得分:6)

NSArray* uniqueArray = [[NSSet setWithArray:originalArray] allObjects];

唯一性基于isEqual:方法。

答案 1 :(得分:2)

为此使用NSSet或NSMutableSet。请记住,如果不覆盖isEqual:方法,则唯一性将基于对象地址。当然,除非您使用的是实现该方法的类(例如NSNumberNSValue)。

答案 2 :(得分:1)

您可以将NSSet用于此