0

我正在为编辑实体创建临时上下文:

    NSManagedObjectContext *parent = [Default managedObjectContext];//my main managed context
    NSManagedObjectContext *_createNewContex = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
    [_createNewContex setParentContext:parent];

在 _createNewContex 我试图创建我的临时条目进行编辑。

   MyTempEntry *entry = [MyTempEntry createInContext:_createNewContex];

它创建正常,但如果尝试从父上下文为条目分配关系:

  entry.entryFromParent = parentEntry;

我有错误:

*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“非法尝试在不同上下文中的对象之间建立关系“entryFromparent”

4

1 回答 1

2

你不能在上下文之间使用对象。您需要使用其 objectID 或其他值在辅助上下文中查找该对象。

然后可以使用辅助上下文中的该对象来创建关系。

类似于下面的粗略代码

NSManagedObjectID *objectID = [parentEntry objectID];

id newContextParentEntry = [_createNewContext objectWithID:objectID]; 

entry.entryFromParent = newContextParentEntry;
于 2013-04-26T14:49:35.007 回答