0

概要:

スタンフォード iOS チュートリアルには、コア データを使用しながらテーブル ビューを使用するのに役立つ実装 (ヘッダー + 実装ファイル) が含まれています。

リンク- http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall

ファイル名- CoreDataTableViewController.zip
CoreDataTableViewController.hには、次のテキストが含まれています。

// 一度 NSFetchedResultsController を作成すると、その @propertys を変更できないことに注意してください。新しいフェッチ パラメータ (述語、並べ替えなど) が必要な場合は、新しい NSFetchedResultsController を作成し、このクラスの fetchedResultsController @property を再度設定します。

質問

ドキュメントでは、プロパティを変更したときの状況について言及されており、この場合は何かを推奨しているため、少し奇妙に聞こえます...間違いのように見えるか、何かを見落としています。述語を変更して再度フェッチすると、すべてが機能します...

4

1 に答える 1

0

キャッシュを使用しているかどうかによって異なります。リンク先のドキュメントに記載されているように:

キャッシュを使用している場合は、フェッチ要求、その述語、またはそのソート記述子を変更する前に、deleteCacheWithName: を呼び出す必要があります。cacheName を nil に設定しない限り、フェッチされた同じ結果コントローラーを複数のクエリに再利用しないでください。

これらのプロパティを変更する場合は、新しいフェッチ済み結果コントローラーを作成するように指示するほうが、おそらく簡単です (これは初心者向けのコースであり、フェッチ済み結果コントローラーの作成はこのサンプル コードの外部で行われます)。キャッシュの説明、キャッシュのクリアなど。

于 2012-11-16T15:15:25.897 に答える