NSOutlineView с привязками, управляемыми базовыми данными - PullRequest
2 голосов
/ 23 декабря 2009

У меня есть NSOutlineView, выступающий в качестве списка источников для моего приложения, и моя модель данных выполнена с использованием Core Data. Я хотел бы использовать привязки (если возможно), чтобы склеить эти вещи следующим образом:

У меня есть три основных объекта в моей модели, для примера давайте назовем их «Магазины», «Автомобили» и «Люди».

Моя цель состоит в том, чтобы в виде структуры было 3 "группы" (расширяемые узлы, такие как PLAYLISTS в iTunes), каждая группа представляющая и перечисляющая одну из моих сущностей, а также у меня есть три кнопки в нижней части окна «Добавить магазин», «Добавить автомобиль» и т. д., которые я хотел бы подключить для выполнения этого действия.

Пока у моего окна есть перо TreeController, которое привязано к моему экземпляру NSManagedObjectContext моего оконного контроллера, но я не могу понять, как правильно связать и заполнить контурный вид из TreeController.

Возможно ли это с привязками? Я видел один учебник, в котором создается вторая модель управляемых объектов с сущностями для узлов схемы, но некоторые комментарии к статье говорят, что это плохая идея. Я не совсем уверен, как поступить, любая помощь будет замечательной!

1 Ответ

2 голосов
/ 24 декабря 2009

Попробуйте темы программирования Привязки какао: раздел «Содержимое контроллера»

Я создал собственные классы для своих сущностей и добавил к ним isLeaf свойства. За верхний уровень (Магазины, Автомобили, Люди) я возвращаю no. Для листовых узлов (машина, человек и т. Д.) Возвращаю YES.

Верхний уровень должен иметь отношение ко многим с листовыми узлами, я назвал это children.

В Интерфейсном Разработчике я установил режим NSTreeController на Entity, имя: Groups. Он связан с managedObjectContext. В Key Paths я установил атрибут Children на children, а Leaf на isLeaf.

...