1

У меня есть два объекта A и B. A имеет отношение ко многим для B. A и B имеют разные управляемые объекты контекста контекста и контекста. Мне нужно добавить управляемый объект B к управляемому объекту A после изменения некоторых атрибутов B в контексте B, но это невозможно, потому что они не в одном контексте. Итак, как я могу передавать изменения в contextB в contextA, не сохраняя его в persistentStore? пс. если вы хотите знать, почему мне нужно два разных контекста, вы можете переместиться по этой ссылке undo all changes made in a view controller.two managedObjectContext с одним управляемым объектом

ответ

-1

Скопируйте управляемый объект из одного контекста в другой, вы можете использовать идентификатор объекта объекта, как показано в следующем примере.

NSManagedObjectID *objectID = [managedObject objectID]; 

NSManagedObject *copy = [contextB objectWithID:objectID]; 

После копирования вы можете добавить объект B объекта A.

Надежда это поможет вам.

+0

На самом деле в контексте2 уже есть объект с тем же идентификатором объекта. Таким образом, [context2 objectWithID: objectID] не будет работать. Если я сначала не удалю объект в контексте2. –

+0

Не нужно удалять объект, который вы можете заменить старым объектом скопированным объектом. – iamsult

+0

Это не работает, поскольку в контексте А. уже есть объект B. Он не смог обновить объект B в контексте A с объектом B в контексте B. –

 Смежные вопросы

  • Нет связанных вопросов^_^