Итак, я предполагаю, что вы, вероятно, захотите обновить объекты в defaultContext, когда вы сохраните их в фоновом контексте.MagicalRecord фактически уже обрабатывает этот случай для вас, когда вы создаете новый контекст, используя вспомогательный метод.То есть, когда вы делаете что-то вроде этого:
NSManagedObjectContext *backgroundOperationContext =
[NSManagedObjectContext contextThatNotifiesDefaultContextOnMainThread];
Метод контекста уже настроил уведомления, необходимые, чтобы сообщить контексту по умолчанию для объединения изменений, когда он сохраняется в фоновом режиме.Все, что вам нужно сделать, это сохранить ваш контекст в фоновой операции и вызвать save, когда вы будете готовы сохранить данные.
За кулисами метод контекста делает именно то, что предлагает Маркус, и это, добавив уведомление в центр уведомлений:
[NSNotificationCenter defaultCenter] addObserver:[NSManagedObjectContext defaultContext]
selector:...
name:NSManagedObjectContextDidSaveNotification
object:backgroundOperationContext]
Это не совсем код, но это в значительной степени то, что он делает.
Итог, не беспокойтесь о наблюдении и слиянииMagicalRecord позаботится об этом самостоятельно, перейдя из фонового контекста в контекст по умолчанию.