我提供一个NSOutlineViewDataSource
. 表的数据是从数据库中取出的。正在进行少量处理,但不多。
我正在计算outlineView: objectValueForTableColumn: byItem:
调用的值,而不是存储在我返回的对象中,outlineView: child: ofItem:
因为数据可能经常更改。
从最初的调查来看,NSOutlineView
并没有做太多多余的回调(即两次要求同一行)。我了解表模型的工作原理,并且我确实希望当数据集达到一定大小时它会做一些这样的事情。
我应该期待大量的冗余调用(在这种情况下我应该尝试缓存数据)还是它本身会进行合理数量的缓存?每次一个单元格离开屏幕然后返回时它都会调用吗?
是否缓存或重新计算的决定是在我希望objectValueForTableColumn
为给定单元调用的频率之间取得平衡。对于走哪条路是否有共识?或者是给定数据集的反复试验?