Cocoa中是否有类似于循环链接列表的东西?Cocoa中的圆形链接列表
我知道NSArray是有序的 - 但我不认为我可以使用'nextItem'或'previousItem' - 正确吗?此外,我需要将最后一个项目的下一个项目作为第一个项目。
我可以添加自己的nextItem和previousItem方法,但是如果Apple没有实现适合的东西,我很惊讶。如果他们有,我找不到它。
Cocoa中是否有类似于循环链接列表的东西?Cocoa中的圆形链接列表
我知道NSArray是有序的 - 但我不认为我可以使用'nextItem'或'previousItem' - 正确吗?此外,我需要将最后一个项目的下一个项目作为第一个项目。
我可以添加自己的nextItem和previousItem方法,但是如果Apple没有实现适合的东西,我很惊讶。如果他们有,我找不到它。
因为你可以使用一个类的行为添加到NSArray
(如@darren建议),它可能是你实际上可能需要一个真正的循环缓冲区。如果是这种情况,请查看CHDataStructures框架。除了CHCircularBufferStack之外,还有CHCircularBufferQueue和CHCircularBufferDeque。
我不知道任何这样的循环列表数据结构。您关于手动实施它的想法似乎是一个好主意。我会用一个类别:
@implementation NSArray (myCircularList)
-(id)nextItem;
-(id)previousItem;
是否有可能将NSArray绑定到CHData结构?如果是这样,这绝对值得一看。 – 2010-01-17 18:58:56
NSArrayController,我的意思是。 – 2010-01-19 19:24:36
我没有明确地编码这种行为,所以如果你不能,它还不支持。不过,我一直计划将抽象循环缓冲区父类转换为NSMutableArray的子类,这可能会免费提供一些此功能。 (免费给你,不是我作为作者...) – 2010-01-19 20:35:37