【问题标题】:iPhone - How to build a list of unique itemsiPhone - 如何建立独特项目列表
【发布时间】:2009-06-25 22:16:59
【问题描述】:

我想要一个只包含唯一项的数组。我知道我可以通过 NSDictionary 添加带有键的项目然后获取 allKeys 来做到这一点。这将确保 NSArray 只包含唯一的项目,但我觉得这有点过头了,我认为应该有一种更简单的方法来做到这一点,但找不到。

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:
    NSArray* uniqueArray = [[NSSet setWithArray:originalArray] allObjects];
    

    唯一性基于 isEqual: 方法。

    【讨论】:

    • 不应该是 NSArray *uniqueArray = [[NSSet withWithArray:originalArray] allObjects];
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以为此使用NSSet

      【讨论】:

        猜你喜欢
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        • 2023-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多