Как настроить NSTreeController в Интерфейсном Разработчике

Когда я выбираю NSTreeController в Интерфейсном Разработчике (в Xcode 4.6.3) и посмотрите на инспектор атрибутов, я вижу два раздела, названные Tree Controller и Object Controller. Часть Tree Controller имеет некоторый смысл, но у меня возникают проблемы с поиском объяснения раздела Object Controller. Первый пункт - "Режим" с опциями "Класс" и "Имя сущности", и я думаю, что вы используете последний при использовании Core Data, а первый - когда нет. Я не использую Core Data. Итак, что означает следующий элемент, Имя класса? По умолчанию NSMutableDictionary, но я думал, что стандартный тип узла дерева был NSTreeNode, В частности, если я хочу, чтобы мой узел дерева был NSTreeNode чей представленный объект является NSMutableDictionaryКак мне заполнить раздел "Контроллер объектов"?


Задумка после ответа: хотя теперь я вижу, что можно использовать узлы типа NSMutableDictionary чтобы построить дерево контента для представления структуры, есть преимущества создания подкласса NSTreeNode, Первый, NSTreeNode автоматически отслеживает родительские ссылки, что может быть полезно в некоторых случаях. Во-вторых, я могу определить свои элементы данных как свойства, а затем получить к ним доступ, используя точечные обозначения, а не objectForKey: Сообщения.

1 ответ

Решение

Панель Object Controller - это просто способ Interface Builder, позволяющий вам установить entityName собственностью NSTreeContoller или objectClass имущество. (NSTreeController это подкласс NSObjectController, где эти свойства определены.)

NSTreeNode это класс, используемый Какао, чтобы обернуть ваши объекты (или объекты), прежде чем они будут помещены в дерево. У вас нет права голоса в этом процессе, это происходит автоматически и, таким образом, не имеет ничего общего с инспектором атрибутов. Что еще вам понадобится редко (никогда?) Для создания NSTreeNode Например, вы будете взаимодействовать с ними довольно регулярно.

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

Вот очень простой демонстрационный проект (созданный с помощью Xcode 6.3). Надеюсь, это поможет.

Другие вопросы по тегам