我试图解决从多个线程访问相同的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非常相似的已更新为iOS 9东西:
let privateContext = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
privateContext.persistentStoreCoordinator = coreDataStack.context.persistentStoreCoordinator
privateContext.performBlock {() -> Void in
//...
}
他们似乎都达到相同的,然而苹果的文档的版本使用的parentContext
而不是直接使用persistantStoreCoordinator
。这两种方法有什么区别?