我读了这个article在后台将对象保存在 Core Data 数据库中。
在文章的最后,他们有这段代码可以在后台保存数据:
[temporaryContext performBlock:^{
// do something that takes some time asynchronously using the temp context
我知道如果我们使用 performBlock
操作将异步完成,但在什么队列中?我是否需要像这样将它放在后台线程中:
dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), { () -> Void in
temporaryContext.performBlock({ () -> Void in
})
})
或者它足以使用:
temporaryContext.performBlock({ () -> Void in
})
最佳答案
使用就够了:
temporaryContext.performBlock({ () -> Void in
})
您的代码将在与 temporaryContext 关联的队列中调用。 temporaryContext 是一个 NSManagedObjectContext,它有自己的私有(private)队列(NSPrivateQueueConcurrencyType)
关于ios - 后台问题中的 NSMangedObjectContext performBlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32625878/