是否有节点类,例如NSNode?

时间:2012-01-02 01:02:43

标签: iphone objective-c ipad cocos2d-iphone

是否有一个节点类,例如Objective-c中的NSNode或类似节点,或者我应该自己滚动?搜索似乎没有任何结果。

添加/删除节点/子节点等简单的事情

2 个答案:

答案 0 :(得分:6)

我认为您正在寻找CFTree。它没有相应的NS包装器,但它提供了您正在寻找的操作:添加其他CFTree实例作为子项,迭代兄弟,将您自己的数据与树节点相关联,等等上。熟悉Core Foundation编程需要一些时间,但通常比滚动自己更好。

答案 1 :(得分:0)

This Objective-C Node class允许通过 Unix路径约定或数组索引约定直观地访问节点,而CFTree仅允许通过via数组索引约定进行访问。使用Unix路径约定的好处允许人类可读的节点命名,其行为很像通过路径名对节点进行字典键访问。

Node还具有符号链接,使您能够创建指向节点结构深处的节点分支的节点。链接可以通过它们创建,复制,重命名,移动和删除节点。

以下是Node类原语方法的示例:

- (id)initRoot

- (id)makeNodeAtPath:(NSString*)atPath

- (void)deleteNodeAtPath:(NSString*)atPath

- (void)copyNodeAtPath:(NSString*)atPath toPath:(NSString*)toPath

- (void)moveNodeAtPath:(NSString*)atPath toPath:(NSString*)toPath

- (void)renameNodeAtPath:(NSString*)atPath toPath:(NSString*)toPath

- (void)linkNodeAtPath:(NSString*)atPath toPath:(NSString*)toPath

- (id)nodeAtPath:(NSString*)atPath

- (NSString*)path

- (NSMutableArray*)allNodes