#iphone #objective-c #core-data #one-to-many
#iPhone #objective-c #основные данные #один ко многим
Вопрос:
Я пытаюсь сохранить новый объект в своем контексте, который будет иметь ссылку на внешний ключ (отношение многие ко многим) на объект, уже находящийся в базе данных.
Как я могу установить отношение этого нового объекта, чтобы сохранить его в базе данных?. Я попытался извлечь этот объект, а затем установить его в связи, но это вызывает ошибку при сохранении контекста, который отображается как null.
Я также попытался воссоздать его как новый объект, думая, что core data не создаст новый объект, а просто добавит связь, однако он создал новый объект.
Как я могу сохранить этот объект?
Ответ №1:
Вы должны установить объект в связи с вашим новым объектом, затем для вас будет установлена обратная связь.
Итак, вам нужно выяснить, что вызывает ошибку, которую вы видите.
В объектах CoreData, созданных с помощью mogenerator, код для добавления отдельного объекта в набор отношений обращается к изменяемому набору из свойства object:
NSMutableSet *result = [self mutableSetValueForKey:@"rounds"];
Затем вы можете добавить свой существующий объект в этот набор и попытаться сохранить новый объект.
Альтернативно, CoreData для любого managedObject генерирует метод:
- (void)addRoundsObject:(Round*)value_;
Если вы используете этот метод, он также должен правильно добавить объект.
Комментарии:
1. Хелмштеттер Глен Спасибо за ваш ответ, я попробую это в понедельник и выберу вас в качестве правильного ответа.