代码之家  ›  专栏  ›  技术社区  ›  John Velman

使用nstreecontroller和nstreenode(雪豹)添加child等

  •  1
  • John Velman  · 技术社区  · 14 年前

    我有一个设置,其中一个对象(otnoedatam)(ot outlinetest)是nstreenode中表示的对象。nstreenode是nstreecontroller的属性页中显示的类。

    我有基于文档的应用程序,没有核心数据。在mydocument init上,我使用包含一个项的nsmutableArray设置内容,使用包含单个属性(yes,name)的表示对象设置nscreenode。

    添加按钮、添加子按钮、删除按钮、通过界面生成器连接到nstreecontroller添加操作等。

    它在一定程度上起作用。

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

    当我进行删除时,事情会被删除。

    当我添加孩子时,什么都不会发生。

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

    这条路对吗?如果我将nstreecontroller子类化,我会重写addchild来获得正确的结果吗?我能搞砸什么?虽然我花了很长时间寻找,但我似乎找不到任何指导。

    谢谢。

    约翰五世

    1 回复  |  直到 11 年前
        1
  •  2
  •   Regexident Amit Attias    11 年前

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

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

    第一次创造 representedObject 创建一个新的 NSTreeNode 用这个表示的对象,然后插入它。更多的工作不仅仅是简单地将添加按钮连接到树控制器,而是(希望)使用 无刺线虫 弥补它。

    推荐文章