0

親のメインキュー同時実行タイプにオブジェクトがあり、そのプロパティ値の1つを変更するとします。次に、保存せずに、子のプライベートキュータイプでフェッチ要求を実行して、そのオブジェクトが含まれている配列をフェッチします。私が抱えている問題は、取得したオブジェクトに、メインスレッドで行われた保留中の変更が含まれていない場合があるということです。

ただし、電話をかけると[childMOC refreshObject:object mergeChanges:YES];、保留中の変更が発生します。しかし、ドキュメントの説明には、この方法が記載されています

「管理対象オブジェクトの永続プロパティを更新して、永続ストアの最新の値を使用します。

「これらの値はディスクに保存される値ではないので、保留中の変更は含まれませんか?

この方法がどのように機能するかについて少し混乱しています。

4

1 に答える 1

7

ネストされた管理対象オブジェクトコンテキストでは、子コンテキストは親コンテキストに直接加えられた変更を認識しません。最新の変更が必要な場合は、常に子コンテキストでオブジェクトを更新する必要があります。

はい、更新には親コンテキストからの保留中の変更が含まれます。その点でドキュメントを更新する必要があります。

変更の伝播は、子->親コンテキストからのみ自動的に(保存時に)行われます。

于 2012-06-29T07:44:26.243 に答える