核心数据堆栈

时间:2016-06-29 08:39:23

标签: ios objective-c core-data

我有

_privateManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];

_mainManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
_mainManagedObjectContext.parentContext = self.privateManagedObjectContex

我总是使用_mainManagedObjectContext,没有执行块,是不是?

1 个答案:

答案 0 :(得分:1)

如果您使用NSMainQueueConcurrencyType作为托管对象上下文,则可以跳过performBlockperformBlockAndWait ,如果您正在使用上下文主线程。如果你在另一个线程上使用它,可能不会崩溃或导致其他问题,但这只是因为你很幸运。不在其他线程上使用块调用是一个主要的线程错误,并且非常明显地做错了#34;。事实上它没有崩溃但却没有改变 - 你已经在你的应用程序中写了一颗定时炸弹,它迟早会爆炸。