を提供していNSOutlineViewDataSource
ます。テーブルのデータはデータベースから取得されます。少量の処理が行われていますが、それほど多くはありません。
outlineView: objectValueForTableColumn: byItem:
データは頻繁に変更される可能性があるため、返されるオブジェクトに格納するのではなく、呼び出しで値を計算していますoutlineView: child: ofItem:
。
最初の調査から、NSOutlineView
はあまり冗長なコールバックを実行していません (つまり、同じ行を 2 回要求しました)。私はテーブル モデルがどのように機能するかを理解しており、データセットが特定のサイズに達したときにこれを少し行うことを期待しています。
冗長な呼び出しが多数発生することを期待する必要がありますか (その場合は、データをキャッシュしてみてください)、それとも適切な量のキャッシュを実行しますか? セルが画面外に出てから戻るたびに呼び出しを行いますか?
objectValueForTableColumn
キャッシュするか再計算するかの決定は、特定のセルに対して が呼び出されると予想される頻度とのバランスです。どちらに進むべきかについてコンセンサスはありますか? それとも、特定のデータセットに対する試行錯誤ですか?