У меня два NSManagedObjectContext
«с, один используется для записи данных из ответа АФИ в фоновом режиме, а другой для заполнения NSFetchedResultsController
следующим образом:Как слить несохраненные NSManagedObjectContext из одного контекста в другой?
// moc used to fetch objects via NSFetchedResultsController:
moc = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
moc.mergePolicy = NSMergeByPropertyStoreTrumpMergePolicy
// moc used when writing data from an api response:
backgroundMoc = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
moc.mergePolicy = NSMergeByPropertyStoreTrumpMergePolicy
Есть объекты, которые временно хранятся в background moc (без вызова .save()
), и мне нужно объединить эти изменения в основной мок, чтобы мой NSFetchedResultsController
имел к нему доступ.
Я попытался подписавшись на NSManagedObjectContextDidSaveNotification
, но это только получает удар, если я называю backgroundMoc.save()
, что я пытаюсь избежать, так как объекты в моих backgroundMoc
несохраненные изменения.
Каков наилучший способ для этого?