2

I am using NSTreeController with NSOutlineController to display contents in 1parent-1child hierarchy. My structure is like this:
- parent
- child
- parent
- child

Now when user press a refresh button, I want to remove all the nodes and refill it again.

[[treeController arrangedObjects] removeAllItems];
[[treeController arrangedObjects] removeAllObjects];

but nothings seems to be working.

I guess binging NSTreeController with NSArrayController should help but I really don't know steps to bind -NSArrayController-NSTreeController-NSOutlineController.

Justin Boo
  • 10,132
  • 8
  • 50
  • 71
user603490
  • 21
  • 3

2 Answers2

2

I do it all the time with unbound lists.

Simple to clear the list:

[treeController setContent:nil];

Bill
  • 87
  • 7
0

From the documentation for the content property:

The value of this property can be an array of objects, or a single root object. The default value is nil.

If your content is an array (presumably an NSMutableArray), then

[treeController.content removeAllObjects];

would be appropriate. Setting it to nil removes the underlying container. If your content is a single object, then

treeController.content = nil;

is the correct choice.

Demitri
  • 13,134
  • 4
  • 40
  • 41