0

Извините, если это кажется глупым вопросом - я любитель, когда дело доходит до Objective-C и Cocoa, и даже менее известно, когда дело доходит до использования Core Data.Помещать объекты из объекта Core Data в NSOutlineView программно?

Так вот, ситуация: у меня есть NSOutlineView, который я уже заполнил несколькими элементами вручную с помощью NSTreeController. Теперь мне нужно взять элементы в одном из объектов Core Data и добавить их в текущее содержимое NSOutlineView.

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

Спасибо!

ответ

0

Создайте NSFetchRequest с NSPredicate, который получает только те, чей «родительский» - это ниль (объекты root/top-level). Сортируйте их по некоторому атрибуту, который имеет смысл (поскольку результаты выборки будут неупорядоченной коллекцией - NSSet). Затем реализуйте NSOutlineViewDataSource, чтобы смешивать/смешивать информацию, как вы сочтете нужным, так как она предоставляется контуру.

Предупреждение. Лучше всего кэшировать свои результаты, наблюдая за контекстом изменений и обновляя кеш при каждом изменении.

+0

Ах, я вижу. Я дам все это, хотя большинство из них чувствует себя чуть выше моей головы на данный момент. Спасибо вам за помощь! –

 Смежные вопросы

  • Нет связанных вопросов^_^