Я пытаюсь решить проблемы, вызванные доступом к одному и тому же NSManagedObjectContext
из нескольких потоков. Я нашел следующее в Apple docs:Многопоточные данные ядра - persistentStoreCoordinator vs parentContext
let moc = … //Our primary context on the main queue
let privateMOC = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
privateMOC.parentContext = moc
privateMOC.performBlock {
//...
}
который, кажется, что я после. Я также нашел что-то очень похожее на tutorial, который был обновлен для прошивки 9:
let privateContext = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
privateContext.persistentStoreCoordinator = coreDataStack.context.persistentStoreCoordinator
privateContext.performBlock {() -> Void in
//...
}
Они оба, кажется, добиться того же, однако версия яблока Дока использует parentContext
вместо использования persistantStoreCoordinator
непосредственно. В чем разница между этими двумя подходами?