【发布时间】:2009-06-25 22:16:59
【问题描述】:
我想要一个只包含唯一项的数组。我知道我可以通过 NSDictionary 添加带有键的项目然后获取 allKeys 来做到这一点。这将确保 NSArray 只包含唯一的项目,但我觉得这有点过头了,我认为应该有一种更简单的方法来做到这一点,但找不到。
【问题讨论】:
标签: iphone objective-c cocoa-touch
我想要一个只包含唯一项的数组。我知道我可以通过 NSDictionary 添加带有键的项目然后获取 allKeys 来做到这一点。这将确保 NSArray 只包含唯一的项目,但我觉得这有点过头了,我认为应该有一种更简单的方法来做到这一点,但找不到。
【问题讨论】:
标签: iphone objective-c cocoa-touch
NSArray* uniqueArray = [[NSSet setWithArray:originalArray] allObjects];
唯一性基于 isEqual: 方法。
【讨论】:
为此使用 NSSet 或 NSMutableSet。请记住,如果您不覆盖 isEqual: 方法,则唯一性将基于对象地址。当然,除非您正在使用实现该方法的类(例如NSNumber、NSValue)。
【讨论】:
您可以为此使用NSSet
【讨论】: