1

我有一个对象(OTNodeDatum)(OutlineTest 的OT)设置为NSTreeNode 中的表示对象。NSTreeNode 是 NSTreeController 的属性页面中显示的类。

我有基于文档的应用程序,没有核心数据。在 MyDocument init 上,我使用包含一个项目的 NSMutableArray 设置内容,一个 NSTreeNode 具有包含单个属性(是的,名称)的表示对象。

添加按钮,添加子按钮,删除按钮,通过接口构建器连接到 NSTreeController 添加操作等。

它在一定程度上起作用。

当我进行添加时,我会得到一个可以编辑的新空白行,但是当我离开单元格时,插入的文本会消失。

当我进行删除时,东西会被删除。

当我添加孩子时,什么也没有发生。

我认为我必须对 NSTreeNode 或 NSTreeController 进行子类化,以便在添加子节点和添加新的表示对象以及添加新的树节点方面获得正确的行为。

这是在正确的轨道上吗?如果我将 NSTreeController 子类化,我是否会覆盖添加 addChild 以使正确的事情发生?我能搞砸什么?尽管我已经花了很长时间寻找,但我似乎找不到任何关于此的指导。

谢谢。

约翰五世

4

1 回答 1

2

似乎做事的正确方法,或者至少是一种方法,是使用

-(void)insertObject:(id)object atArrangedOjectIndexPath:(int)index;

首先 create ,使用该表示的对象representedObject创建一个新对象,然后将其插入。NSTreeNode比简单地将添加按钮连接到树控制器需要更多的工作,但(希望)使用的优点NSTreeNode弥补了这一点。

于 2010-06-01T14:43:21.907 回答