PFIncrementalStore。只能在使用队列创建的NSManagedObjectContext上使用-performBlock :.

时间:2014-07-19 07:22:44

标签: core-data

我正在尝试使用PFIncrementalStore,http://sbonami.github.io/PFIncrementalStore/

设置为指令后,我在[context performBlock:^,

中收到以下错误
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can only use -performBlock: on an NSManagedObjectContext that was created with a queue.'

某些互联网搜索说,必须使用NSPrivateQueueConcurrencyType创建NSManagedObjectContext。

如果我在PFIncrementalStore.m中查找所有“NSManagedObjectContext init”,我会出现两次

_backingManagedObjectContext = [[NSManagedObjectContext alloc]     initWithConcurrencyType:NSPrivateQueueConcurrencyType];
NSManagedObjectContext *childContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];

为什么我会收到该错误?我该如何编辑PFIncrementalStore? 感谢。

1 个答案:

答案 0 :(得分:3)

我通过替换

解决了这个问题
_managedObjectContext = [[NSManagedObjectContext alloc] init];

_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];