У меня есть ситуация, когда я должен скопировать один NSManagedObject из основного контекста в контекст редактирования.Большинству людей это кажется ненужным, как я видел в аналогичных ситуациях, описанных в Stackoverflow, но я выгляжу так, как будто мне это нужно.
В моем приложении много представлений в панели вкладок, и каждое представление обрабатывает различную информацию, которая связанак другим взглядам.Я думаю, что мне нужно несколько MOC, так как пользователь может переходить с вкладки на вкладку и оставлять несохраненные изменения в какой-либо вкладке, но, возможно, он сохраняет данные в другой вкладке / представлении, поэтому в этом случае изменения в остальных представлениях сохраняются без согласия пользователя.и в худшем случае приложение приводит к сбою.
Для добавления новой информации я выбрал добавление MOC, а затем слияние изменений в обоих MOC, но для редактирования это не так просто.Я видел похожую ситуацию здесь в Stackoverflow, но приложение аварийно завершает работу, поскольку моя модель данных, похоже, не использует NSMutableSet для отношений (я не думаю, что у меня есть отношение многие ко многим, только одно-м-многим) Я думаю, что это можно изменить, чтобы я мог получить отношения, как если бы они были атрибутами
for (NSString *attr in relationships) {
[cloned setValue:[source valueForKey:attr] forKey:attr];
}
, но я не знаю, как объединить изменения клонированных и исходных объектов.Я думаю, что я мог бы просто удалить объект из основного контекста, затем объединить оба контекста и сохранить изменения в основном контексте, но я не знаю, является ли правильный способ сделать это.Я также обеспокоен целостностью базы данных, поскольку не уверен, что обратные отношения будут сохранять ту же ссылку на клонированный объект, как если бы он был исходным.
Может кто-нибудь, пожалуйста, просветите меня об этом?