可可中有类似于循环链表的东西吗?
我知道一个 NSArray 是有序的——但我认为我不能使用“nextItem”或“previousItem”——对吗?此外,我需要将最后一项的 nextItem 作为第一项。
我可以添加自己的 nextItem 和 previousItem 方法,但如果 Apple 还没有实现合适的东西,我会感到惊讶。如果他们有,我找不到它。
可可中有类似于循环链表的东西吗?
我知道一个 NSArray 是有序的——但我认为我不能使用“nextItem”或“previousItem”——对吗?此外,我需要将最后一项的 nextItem 作为第一项。
我可以添加自己的 nextItem 和 previousItem 方法,但如果 Apple 还没有实现合适的东西,我会感到惊讶。如果他们有,我找不到它。
虽然您当然可以使用类别来添加行为NSArray
(正如@darren 建议的那样),但您可能实际上需要一个真正的循环缓冲区。如果是这种情况,请查看CHDataStructures框架。除了CHCircularBufferStack 之外,还有一个CHCircularBufferQueue和一个CHCircularBufferDeque。
我不知道有任何这样的循环列表数据结构。您关于手动实施它的想法似乎是个好主意。我会使用一个类别:
@implementation NSArray (myCircularList)
-(id)nextItem;
-(id)previousItem;