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

时间:2013-05-05 20:03:50

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

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

在我的一个视图控制器中,我还有一个单独的NSOperationQueue,我这样使用:

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

我注意到我的NSNanagedContext也有一个执行块方法。如果我写了:

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

这也会异步执行吗?

1 个答案:

答案 0 :(得分:1)

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