我知道将NSManagedObject从一个线程传递到另一个线程并不是线程安全的,我们必须传递对象ID并通过目标线程中的objectWithID获取对象,但我不希望传递对象ID thread,我可以通过首先在目标上下文中调用objectWithID来获取对象,然后将其传递给目标线程。
let parserContext: NSManagedObjectContext = CoreDataManager.sharedManager().newPrivateManagedObjectContext()
let mainContext: NSManagedObjectContext = CoreDataManager.sharedManager().mainManagedObjectContext()
var object: NSManagedObject?
parserContext.performBlockAndWait {
object = mainContext.objectWithID(model.objectID)
}
return object // return to main thread