View Controller にメソッド「books」があり、コア データ内のすべての本を取得して、それらの配列を返します。私は頻繁に self.books に依存しています。特定のインデックスにある本、何冊の本があるかなどを知る必要がある場合、books メソッドは結果を再フェッチします。
これらの結果を iVar にキャッシュすると、パフォーマンスが向上しますか? ほとんどの場合、self.books の結果が変わらないことはわかっています (objectAtIndex、count など)。2 つ目のブール値 iVar 'booksNeedRefresh' をダーティ フラグとして追加し、本を追加/削除する場合にのみ true に設定できます。その後、self.books はこのフラグをチェックし、必要な場合にのみ再取得できます。
私の質問は次のとおりです。
- コア データからの各フェッチ リクエストは、無視できないパフォーマンス ヒットをもたらしますか?
- キャッシュ + ダーティ フラグは賢明な解決策ですか?