Как настроить 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). Надеюсь, это поможет.