Как удалить все элементы из NSTreeController с помощью NSOutlineController - PullRequest
2 голосов
/ 04 февраля 2011

Я использую NSTreeController с NSOutlineController для отображения содержимого в иерархии 1parent-1child. Моя структура такая:
- родитель
- ребенок
- родитель
- ребенок

Теперь, когда пользователь нажимает кнопку обновления, я хочу удалить все узлы и заполнить ее снова.

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

но ничто не работает.

Полагаю, binging NSTreeController с NSArrayController должен помочь, но я действительно не знаю шагов для привязки - NSArrayController - NSTreeController - NSOutlineController.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Я делаю это все время с несвязанными списками.

Просто очистить список:

[treeController setContent: nil];

0 голосов
/ 28 июля 2018

Из документации на свойство content:

Значением этого свойства может быть массив объектов или один корневой объект. Значением по умолчанию является ноль.

Если ваш контент является массивом (предположительно NSMutableArray), то

[treeController.content removeAllObjects];

будет уместно. Установка nil удаляет базовый контейнер. Если ваш контент представляет собой один объект, то

treeController.content = nil;

- правильный выбор.

...