В моем приложении для iOS я пытаюсь синхронизировать основные данные с веб-сервером. Я хочу использовать отдельный фоновый контекст управляемого объекта для синхронизации, чтобы я мог оставить свой основной контекст свободным, чтобы принимать изменения из пользовательского интерфейса во время обработки синхронизации. Оба контекста являются потомками моего контекста записи на диск согласно этому сообщению в блоге http://www.cocoanetics.com/2012/07/multi-context-coredata/.
У меня вопрос: как объединить оба дочерних контекста перед сохранением на диск?
Если я подпишусь на contextDidSaveNotifications, я могу объединить контексты, используя
[mainContext mergeChangesFromContextDidSaveNotification:syncFinishedNotification];
но согласно документации ... «Этот метод обновляет все объекты, которые были обновлены в другом контексте, ошибки в любых вновь вставленных объектах и вызывает deleteObject :: для тех, которые были удалены».
Я не хочу обновлять обновленные объекты и терять изменения, внесенные в mainContext, а хочу объединить оба набора изменений.
Я новичок в мульти-контекстных основных данных, поэтому могу думать об этом неправильно.
Любые идеи?