Добавление объекта в привязанное приложение NSTableView — Core Data

У меня есть приложение, которое использует основные данные. Модель которой имеет 3 объекта, все они связаны отношениями 1-many следующим образом:

|E1|<-->>|E2|<-->>|E3|

Мой пользовательский интерфейс, по сути, представляет собой 3-стороннюю вертикальную разделенную панель, каждая из которых имеет табличное представление. Это работает так, что у меня есть каждое окно с приращением на 1 слой вниз, что, по сути, позволяет пользователю «детализировать» вниз от объектов E1 к объектам E3, все связаны отношениями, похожими на опцию в поисковике OSX.

Каждая таблица заполняется NSArrayController, получая данные от соответствующего объекта, а также от того, что выбрано в предыдущем окне «детализации». Все это прекрасно работает, если я просто подключаю кнопку к методу addObject контроллера массива, однако новый объект, который он создает, представляет собой пустую строку, которую я должен заполнить вручную.

Я подключил кнопку добавления, чтобы открыть «Открыть диалог», который позволяет пользователю выбирать файлы. Затем я перебираю массив возвращенных NSURL и добавляю информацию о файле в объект E3 базовой модели данных. Я вызываю сохранение, но в пользовательском интерфейсе ничего не появляется. Я предполагаю, что это как-то связано с тем фактом, что объект, который я добавляю, не имеет возможности узнать, к какому E2 он принадлежит, и поэтому не отображается.

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


person Alex Godbehere    schedule 11.02.2013    source источник


Ответы (1)


Я отсортировал это, создав объект, установив его свойства, а затем вызвав addObject:id на контроллере массива.

Надеюсь, это поможет кому-то.

person Alex Godbehere    schedule 11.02.2013