25

コアデータは、NSManagedObjectContext クラスでメソッド「executeFetchRequest」を提供します。これを使用して、テーブルからデータを取得し、必要な方法で使用できます。

NSFetchedResultsController を使用して UITableView に提供し、テーブルからデータを取得する別の方法があります。

私の質問は今:

  • どちらの方法が速いですか?, つまり、パフォーマンスに関しては、どちらが最適ですか?

  • NSFetchedResultsController は UITableViews でのみ使用されますか?

  • NSFetchedResultsController の長所と短所は何ですか。

  • そして最後に、「NSFetchedResultsController を使用する理由」は、他のどの方法よりも優れている点です。

4

1 に答える 1

43

そして最後に、「NSFetchedResultsController を使用する理由」は、他のどの方法よりも優れている点です。

FRC クラスは、複雑で動的なデータをテーブルに提供することに関連するすべてのオーバーヘッドを自動的に処理するように設計されています。

データがまったく変更されない単純な 1 つのセクション テーブルしかない場合、FRC を使用しても利点はありません。フェッチを 1 回実行するだけで完了です。ただし、データが UI (ユーザーの再配置、削除、追加) またはコード (サーバーからのデータの更新など) で変更されている場合、FRC はその一定の変更をすべて処理し、テーブルが正確に反映されるようにするメカニズムを提供します。それらの変更。

どちらの方法が速いですか?, つまり、パフォーマンスに関しては、どちらが最適ですか?

フェッチと FRC のどちらを使用してもパフォーマンスに大きな違いはありません。どちらも同じフェッチ メカニズムを使用して永続ストアからデータを取得するためです。複雑な動的データがある場合は、機能を手動で複製するよりも FRC を使用する方が高速です。

NSFetchedResultsController の長所と短所は何ですか。

上記を参照。

NSFetchedResultsController は UITableViews でのみ使用されますか?

はい、実際にはテーブルでのみ役立ちます。

于 2010-09-17T15:38:17.997 に答える