0

これができるか知りたい

ビュー1:TABLEAでNSFe​​tchedResultsControllerを使用してデータを取得し、テーブルビューに表示して、データを保存するためのアクションを実行します

    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:referringObject sectionNameKeyPath:nil cacheName:@"TABLEA"];

次に、VIEW 2で、同じテーブル、つまりTABLEAでNSFe​​tchedResultsControllerを使用して、テーブルビューなしでデータを取得し、VIEW 1に戻って、以前の管理対象オブジェクトを保存しますか?

4

2 に答える 2

1

TABLEAはSQLテーブルではありません。コアデータはSQLではありません。この場合、TABLEAはフェッチされた結果コントローラー(FRC)のキャッシュファイルにすぎません。コントローラ間で同じキャッシュを渡しても何も起こりません。何かを変更するとすぐに、キャッシュはとにかく自動的に更新されるからです。原則としてFRC自体を渡すことはできますが、面倒になるため、これは決して行われません。

管理対象オブジェクトインスタンスは、フェッチまたはフェッチされた結果コントローラーではなく、管理対象オブジェクトコンテキストにアタッチされます。ビューコントローラ間で管理対象オブジェクトを渡す場合は、オブジェクト自体を渡します。コンテキストを別のコントローラーに保存する場合は、コンテキストも渡します。フェッチはそれには入りません。

フェッチ/FRCは通常、特定のビューコントローラに固有です。これは、各ビューコントローラが特定のデータのサブセットを特定の並べ替え順序で表示する必要があるため、各ビューコントローラが独自のフェッチをカスタマイズする必要があるためです。

于 2010-09-14T13:07:25.863 に答える
0

同じ管理対象オブジェクトコンテキストを使用すると、同じ管理対象オブジェクトが返されます。

于 2010-09-12T13:41:24.493 に答える