我想要一个只包含唯一项目的数组。我知道我可以使用NSDictionary添加带有键的项目,然后获取allKeys。这样可以确保NSArray只包含唯一的项目,但我觉得这样做太过分了,并且相信应该有一种更简单的方法来做到这一点,但找不到。
答案 0 :(得分:6)
NSArray* uniqueArray = [[NSSet setWithArray:originalArray] allObjects];
唯一性基于isEqual:方法。
答案 1 :(得分:2)
为此使用NSSet或NSMutableSet。请记住,如果不覆盖isEqual:
方法,则唯一性将基于对象地址。当然,除非您使用的是实现该方法的类(例如NSNumber
,NSValue
)。
答案 2 :(得分:1)
您可以将NSSet用于此