0

例えば。次のようなオブジェクトを使用するチャット アプリがある場合:ChatRoomおよびChatMessage. (両方とも のサブクラスNSManagedObject)
そして、アプリ全体で、チャット ルームを検索する/メッセージを追加する/チャット ルームとメッセージを作成する/その他の操作を行う必要があります。
すべてをコア データで直接行っても問題ありませんか? つまり、チャット ルームなどを検索する必要があるたびに、NSFetchRequest または NSFetchedResultsController を使用してそれを行うということです。

4

1 に答える 1

1

もちろん、必要なときにいつでもデータにアクセスできます。一方、キャッシュメカニズムを可能な限り使用するようにしてください。

たとえば、でデータを使用している場合は、明示的に作成されたものを使用する必要がUITableViewあります。上のアップルドキュメントから:NSFetchedResultsControllerUITableViewsNSFetchedResultsController

必要に応じて、関連付けられた管理対象オブジェクト コンテキスト内のオブジェクトへの変更を監視し、結果セットの変更をデリゲートに報告します (「コントローラーのデリゲート」を参照)。オプションで計算の結果をキャッシュし、同じデータが後で再表示された場合に作業を繰り返す必要がないようにします (「キャッシュ」を参照)。

それ以外の場合は、一時的にデータが必要NSFetchRequestな場合は、必要なたびにアクセスするか、変更されていない場合や寿命がわかっている場合はビジネス オブジェクトにキャッシュすることができます。

于 2012-04-27T19:05:28.190 に答える