У меня есть приложение, которое использует основные данные. Модель которой имеет 3 объекта, все они связаны отношениями 1-many следующим образом:
|E1|<-->>|E2|<-->>|E3|
Мой пользовательский интерфейс, по сути, представляет собой 3-стороннюю вертикальную разделенную панель, каждая из которых имеет табличное представление. Это работает так, что у меня есть каждое окно с приращением на 1 слой вниз, что, по сути, позволяет пользователю «детализировать» вниз от объектов E1 к объектам E3, все связаны отношениями, похожими на опцию в поисковике OSX.
Каждая таблица заполняется NSArrayController, получая данные от соответствующего объекта, а также от того, что выбрано в предыдущем окне «детализации». Все это прекрасно работает, если я просто подключаю кнопку к методу addObject контроллера массива, однако новый объект, который он создает, представляет собой пустую строку, которую я должен заполнить вручную.
Я подключил кнопку добавления, чтобы открыть «Открыть диалог», который позволяет пользователю выбирать файлы. Затем я перебираю массив возвращенных NSURL и добавляю информацию о файле в объект E3 базовой модели данных. Я вызываю сохранение, но в пользовательском интерфейсе ничего не появляется. Я предполагаю, что это как-то связано с тем фактом, что объект, который я добавляю, не имеет возможности узнать, к какому E2 он принадлежит, и поэтому не отображается.
Есть ли способ добавить объект в базовую модель данных со связями? Например, я мог бы посмотреть, какой объект был выбран в E2, а затем добавить объект с отношением к этому. Я надеюсь, что сделал это достаточно ясно. Любые идеи или предложения более чем приветствуются!