0

次のエンティティ関係モデルがあるとします。

A <-->> B <-->> C <-->> D

A はルート オブジェクトで、アプリケーションのどこかに保持しています。NSFetchRequest を使用して、C の特定のインスタンスとそのすべての基になる D オブジェクトを取得するため、B はコンテキストに登録されていません。C を使い終わったら、refreshObject:mergeChanges: を保存して使用することでそのメモリをクリアし、すべての D オブジェクトと共にフォルトに戻します。ただし、 A オブジェクトはそのままにしておきたいと思います。

関連するすべてのエンティティがフォールトに戻されるため、コア データはグラフをたどって A オブジェクトに戻りますか、それとも 2 つをリンクするコンテキストに登録された B オブジェクトがないためにそれが停止しますか?

4

1 に答える 1

0

willTurnIntoFault後者(Aへの変更なし)を想定しますが、管理対象オブジェクトのサブクラスをオーバーライドすることで、これを簡単に確認できます。

- (void) willTurnIntoFault
{
    NSLog(@"%@ will turn into fault", self.name);
    [super willTurnIntoFault];
}
于 2012-07-17T13:16:47.307 に答える