我有
_privateManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
和
_mainManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
_mainManagedObjectContext.parentContext = self.privateManagedObjectContex
我总是使用_mainManagedObjectContext,没有执行块,是不是?
答案 0 :(得分:1)
如果您使用NSMainQueueConcurrencyType
作为托管对象上下文,则可以跳过performBlock
和performBlockAndWait
,如果您正在使用上下文主线程。如果你在另一个线程上使用它,可能不会崩溃或导致其他问题,但这只是因为你很幸运。不在其他线程上使用块调用是一个主要的线程错误,并且非常明显地做错了#34;。事实上它没有崩溃但却没有改变 - 你已经在你的应用程序中写了一颗定时炸弹,它迟早会爆炸。