NSOutlineView的noteNumberOfRowsChanged不等同于reloadData

时间:2011-05-06 17:21:50

标签: cocoa datasource nsoutlineview

我向Object的{​​{1}}添加了另一个NSOutlineView并致电NSOutlineViewDataSource。如果我正确阅读文档,这应该让OutlineView实现我添加了一行并正确地重绘。但没有任何反应。

如果我致电[myOutlineView noteNumberOfRowsChanged]它可行,但根据文档[myOutlineView reloadData]的开销高于reloadData(因为它会重新加载所有数据...... duh)

我没有使用绑定,我自己提供noteNumberOfRowsChanged

任何人都知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

来自reloadData: documentation

  

如果你只想更新   滚动条,使用noteNumberOfRowsChanged;   如果是一组行的高度   变化,使用   noteHeightOfRowsWithIndexesChanged:

听起来像noteHeightOfRowsWithIndexesChanged:的我只能确保新添加的对象在视图中可见。

reloadData:文档的讨论部分还提到了更新单行的方法。但是,如果添加新对象,reloadData:似乎是唯一的选择。