iPhone的NSOrderedSet?

Posted

技术标签:

【中文标题】iPhone的NSOrderedSet?【英文标题】:NSOrderedSet for iPhone? 【发布时间】:2011-09-22 11:18:31 【问题描述】:

由于某些奇怪的原因,NSOrderedSet 似乎没有在 ios 中实现。是否有另一个提供类似功能的对象——基本上是随机插入/删除对象并按排序顺序访问第一个/最后一个对象的能力?

在我看来,为了实现基本的 FIFO 队列等,需要这样的东西。

编辑:我最终做了一个 RYO 解决方案。

【问题讨论】:

见***.com/questions/7392019/…了解信息 它似乎与 iOS 5 一起出现。gravityjack.com/gravityjack_news/… 【参考方案1】:

一个选项是这个开源数据结构库: http://dysart.cs.byu.edu/CHDataStructures/index.html

在那个库中有一个 CHOrderedSet http://dysart.cs.byu.edu/CHDataStructures/interface_c_h_ordered_set.html

它唯一的依赖是 NSMutableSet,所以它应该适用于你所有的 iOS 版本。

编辑:

正如 Bourne 上面指出的,它也在 iOS5 (reference) 中:

新的NSOrderedSet 集合类提供集合的语义, 其中每个元素在集合中最多出现一次,但在 元素按特定顺序排列。

如果您对 iOS5 没有硬依赖,那么 CHOrderedSet 是一个不错的选择。

【讨论】:

【参考方案2】:

NSOrderedSet 和 NSMutableOrderedSet 在 iOS 5 中不可用。这里是任何好奇的人的参考: http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSMutableOrderedSet_Class/Reference/Reference.html#//apple_ref/occ/cl/NSMutableOrderedSet

【讨论】:

您的链接证明它们在 iOS5 中可用

以上是关于iPhone的NSOrderedSet?的主要内容,如果未能解决你的问题,请参考以下文章

在CoreData的NSOrderedSet中的特定位置插入一个对象?

遍历一个 NSOrderedSet

如何向 NSOrderedSet 添加值

数组到 NSOrderedSet 将列表的大小更改为 1

如何在最后一个位置将对象添加到 NSOrderedSet?

Coredata、NSOrderedSet 和 iCloud