【发布时间】:2014-05-04 08:46:55
【问题描述】:
我需要在不阻塞主 UI 线程的情况下将临时上下文中的更改保存到磁盘。 我正在尝试这样做,就像文章底部提到的那样multi-context-coredata
执行以下操作:
NSManagedObjectContext *editContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
editContext.persistentStoreCoordinator = [NSManagedObjectContext defaultContext].persistentStoreCoordinator;
[NSManagedObjectContext defaultContext].parentContext = editContext;//defaultContext is my main CoreData context
但应用程序在字符串上崩溃:
[NSManagedObjectContext defaultContext].parentContext = editContext
以下内容:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Context already has a coordinator; cannot replace.'
我做错了什么?
【问题讨论】:
-
你为什么要插入编辑上下文作为父级?可能持久存储上下文(如果你有一个,你应该)应该是编辑上下文和“默认”上下文的父级......
标签: ios multithreading core-data nsmanagedobject