Допустим, я создаю справочное приложение для животных на основе Core Data.Каждый Animal
живет в Habitat
и имеет Classification
.Classification
может иметь суб-Classifications
(смоделирован в Базовых данных с использованием простого отношения один-ко-многим родителям / детям.).
Я хотел бы визуализировать все три сущности - Habitats
, Classifications
и Animals
- с использованием одного NSOutlineView
.Например, это может выглядеть так:
v Animals
Cat
Parrot
Seagull
Toucan Sam
v Habitats
Cereal Box
Coast
Jungle
Living Room
v Classifications
Mammal
v Bird
Tropical Bird
Fictional Bird
Я могу использовать привязки NSTreeController
и Какао, чтобы довольно легко визуализировать одну сущность (с иерархической структурой), такую как Classifications
.(И уже сделали это.) Однако для этого необходимо, чтобы столбец таблицы был привязан к одному однородному «типу».
Я думал, что мог бы создать собственный класс, который содержит ссылки на мои объекты NSTreeController
,а затем связать столбец таблицы с методом в этом пользовательском классе (выполняя своего рода агрегацию различных arrangedObjects
в NSSet
самостоятельно).Тем не менее, Xcode, похоже, не хочет, чтобы я связывался с ним (отображает (!) И отказывается разрешить мне устанавливать ключ контроллера в инспекторе привязок).
Как я могу визуализировать более одного объектав одном NSOutlineView
?