ios - CoreData 并发 - 我需要一个单独的 NSOperationQueue 吗?

标签 ios objective-c cocoa-touch core-data concurrency

我有一个 CoreData 应用程序,其中有两个用于并发的 NSNangedContext:s。一个用于主线程,一个用于我的后台线程。

在我的一个 View Controller 中,我还有一个单独的 NSOperationQueue,我这样使用它:

[self.queue addOperationWithBlock:^{
    [self processDataFromDictionary:jsonObject];
    [...]

我注意到我的 NSNangedContext 也有一个执行 block 方法。如果我改为写:

 [self.backgroundContext performBlock:^{
    [self processDataFromDictionary:jsonObject];

这也会异步执行吗?

最佳答案

如果您的托管对象上下文是使用适当的 concurrency type 创建的,从任何其他队列调用performBlock将导致该 block 在上下文自己的队列上异步执行。

关于ios - CoreData 并发 - 我需要一个单独的 NSOperationQueue 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16388591/

相关文章:

ios - 如何从主 ViewController 访问自定义 UITableViewCell

iphone - 跨 iOS 平台的视频规范

ios - NSPointerFunctionsCopy 困惑

iPhone cocoa "error:request for member ____ in something not a structure or union"

ios - 如何比较数组中的三个对象?

ios - 如何将 UIDatePicker 日期秒值设置为 00?

iphone - 如何用 2 根手指在 iOS 4 中滚动 iframe?

objective-c - 从 XML 文件构建 iOS 应用程序

ios - 如何在运行时正确压缩 UIImages

php - 在 Objective-C 中转换 PHP post 请求格式