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;