Я использую Core Data с одним NSManagedObjectContext
в течение длительного времени, все операции по извлечению, сохранению и обновлению фона будут выполняться в одном контексте через вспомогательные классы, я планировал реализовать множественный подход NSManagedObjectContext
который является рекомендуемым решением в большинстве моих поисков).
Мой вопрос: есть performBlock
только для выполнения кода для этого контекста? Не можем ли мы сделать что-то вроде ниже:
- (void) checkSyncServer {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
//do something here, check and fetch data
// create NSManagedObject
[_tempContext save:&error];
//masterContext will merge changes through notification observers
});
}
(i.e) выполнить код, кроме метода -performBlock
. Как выполнить несколько асинхронных методов и выполнить сохранение?
Тем не менее, я считаю, что один контекст (который управляется одним классом singleton NSObject
) проще использовать.
Этот множественный контекст с ContextConcurrencyType
выглядит более сложным (с точки зрения потока выполнения). Есть ли лучшее решение?