Cocoa 如何使用NSOutlineController从NSTreeController中删除所有元素

Cocoa 如何使用NSOutlineController从NSTreeController中删除所有元素,cocoa,binding,nsarraycontroller,nstreecontroller,removeall,Cocoa,Binding,Nsarraycontroller,Nstreecontroller,Removeall,我正在使用NSTreeController和NSOutlineController来显示1家长1子女层次结构中的内容。 我的结构是这样的: -父级 -儿童 -父级 -儿童 现在,当用户按下刷新按钮时,我想删除所有节点并重新填充 [[treeController arrangedObjects] removeAllItems]; [[treeController arrangedObjects] removeAllObjects]; 但似乎什么都没用 我想用NSArrayController绑定

我正在使用
NSTreeController
NSOutlineController
来显示1家长1子女层次结构中的内容。 我的结构是这样的:
-父级
-儿童
-父级
-儿童

现在,当用户按下刷新按钮时,我想删除所有节点并重新填充

[[treeController arrangedObjects] removeAllItems];
[[treeController arrangedObjects] removeAllObjects];
但似乎什么都没用


我想用
NSArrayController
绑定
NSTreeController
应该会有帮助,但我真的不知道绑定
NSArrayController
-
NSTreeController
-
NSOutlineController
的步骤,我总是使用未绑定的列表

清除列表很简单:


[树控制器设置内容:无]

来自
内容的文档
属性:

此属性的值可以是对象数组,也可以是单个根对象。默认值为零

如果您的内容是一个数组(可能是
NSMutableArray
),那么

这是合适的。将其设置为
nil
将删除基础容器。如果您的内容是单个对象,则

treeController.content = nil;

是正确的选择。

我发现这使得以后无法将对象添加到控制器。。。
treeController.content = nil;