CoreData создает связь при привязке к NSArrayController - PullRequest
0 голосов
/ 27 июля 2011

Настройка:

Модель CoreData

  • Сущность продукта

    • Атрибут"имя"
    • Отношения"общие" <---> CommonData
  • Объект CommonData

    • Атрибут"product_id"
    • Отношения"product" <---> Сущность продукта

Просмотр настройки:

  • У меня есть NSTableView для отображения сущностей продукта, и он связан с NSArrayController
  • . Есть две кнопки «+» и «-», связанные с add: и remove: с соответствующимидействия NSArrayController.
  • Существует контроллер NSObject, связанный с объектом контента selection.common, а NSTextView связан с NSObjectController.

В документации по Какао указано, чтообъект связи не создается автоматически, когда в этом случае объект продукта выделяется.Я вижу это поведение, когда нажимаю кнопку «+».Продукт добавлен в NSTableView, но NSTextView отображает «Нет контекста».И, если я создаю product и common сущностей в коде, я вижу, что NSTextView правильно отображает * product_id *.

Я хотел бы сохранитькнопки, привязанные к NSArrayController.

Вопрос:

  • Есть ли способ обнаружить, что новая сущность продукта была создана?
  • Что лучшеспособ добавить сущность отношения при создании новой сущности продукта с помощью действия кнопки?

1 Ответ

0 голосов
/ 27 июля 2011

В этом случае я не думаю, что достаточно просто add:. Вы должны связать свою кнопку «Добавить» с новым методом действия, и в этом методе действия вы должны создать объект Product и объект CommonData, а затем установить «общий» из первых в качестве последнего. По крайней мере, это то, что я бы сделал.

В любом случае, я думаю, что некоторое «обнаружение» нового объекта CommonData в этом случае было бы излишним.

...