1

私は2つのエンティティAとBを持っています.AはBとto manyの関係を持っています.AとBは異なるmanagedObjectContext contextAとcontextBを持っています。 contextBのBの属性をいくつか変更した後で、管理対象オブジェクトBを管理対象オブジェクトAに追加する必要がありますが、同じコンテキストにないため不可能です。だから私はcontextAの変更をpersistentStoreに保存せずにcontextAに渡すことができますか? ps。あなたがなぜこの2つの異なる文脈を必要としているのか知りたいのであれば、このリンク上で実行することができますundo all changes made in a view controller2つのmanagedObjectContextと1つのmanagedObject

答えて

-1

管理オブジェクトをあるコンテキストから別のコンテキストにコピーするには、次の例に示すようにオブジェクトのオブジェクトIDを使用します。あなたはA.

をオブジェクトへのオブジェクトBを追加することができますコピーした後

NSManagedObjectID *objectID = [managedObject objectID]; 

NSManagedObject *copy = [contextB objectWithID:objectID]; 

は、このヘルプあなたを願っています。

+0

実際には、context2に同じobjectIDを持つオブジェクトが既に存在します。だから[context2 objectWithID:objectID]は動作しません。最初にcontext2のオブジェクトを削除しない限り。 –

+0

古いオブジェクトをコピーしたオブジェクトで置き換えることができるオブジェクトを削除する必要はありません。 – iamsult

+0

コンテキストAにオブジェクトBが既に存在するため、動作しません。コンテキストBのオブジェクトBをコンテキストAのオブジェクトBに更新できませんでした。 –

関連する問題