后台问题中的 NSMangedObjectContext performBlock
NSMangedObjectContext performBlock in background issue
我阅读这篇文章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,它有自己的私有队列 (NSPrivateQueueConcurrencyType)
我阅读这篇文章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,它有自己的私有队列 (NSPrivateQueueConcurrencyType)