2013-04-26 1 views
0

я создаю контекст температуры для редактирования объекта:создать объект в детской NSManagedObjectContext с отношением к родительской сущности

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 »между объектами в разных контекстах

ответ

2

вы не можете использовать объект между контекстом. вам нужно будет искать объект во вторичном контексте, используя его objectID или какое-либо другое значение.

этот объект из вторичного контекста может быть использован для создания отношений.

что-то вроде грубого кода ниже

NSManagedObjectID *objectID = [parentEntry objectID]; 

id newContextParentEntry = [_createNewContext objectWithID:objectID]; 

entry.entryFromParent = newContextParentEntry;