我读了这个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
})
答案 0 :(得分:1)
这足以使用:
temporaryContext.performBlock({ () -> Void in
})
您的代码将在与temporaryContext关联的队列中调用。 temporaryContext是一个NSManagedObjectContext,它有自己的私有队列(NSPrivateQueueConcurrencyType)