1

A と B の 2 つのエンティティがあります。A には B との対多関係があります。A と B には、異なる managedObjectContext contextA と contextB があります。contextB で B のいくつかの属性を変更した後、管理対象オブジェクト B を管理対象オブジェクト A に追加する必要がありますが、それらは同じコンテキストにないため不可能です。では、contextB の変更を persistStore に保存せずに contextA に渡すにはどうすればよいでしょうか? ps。2 つの異なるコンテキストが必要な理由を知りたい場合は、このリンクを実行して、View Controller で行われたすべての変更を元に戻すことができます。

4

1 に答える 1

-1

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

NSManagedObjectID *objectID = [managedObject objectID];

NSManagedObject *copy = [contextB objectWithID:objectID];

コピー後、オブジェクト B をオブジェクト A に追加できます。

これがお役に立てば幸いです。

于 2012-05-03T07:14:14.297 に答える