gpt4 book ai didi

cocoa - NSOutlineView 的 noteNumberOfRowsChanged 不等于 reloadData

转载 作者:行者123 更新时间:2023-12-03 16:44:14 24 4
gpt4 key购买 nike

我将另一个 Object 添加到我的 NSOutlineViewNSOutlineViewDataSource 并调用 [myOutlineView noteNumberOfRowsChanged]。如果我正确地阅读了文档,这应该会让 OutlineView 意识到我添加了一行并正确地重新绘制自身。但什么也没发生。

如果我调用 [myOutlineView reloadData] 它可以工作,但根据文档 reloadData 的开销比 noteNumberOfRowsChanged 高得多(因为它重新加载所有数据...废话)

我没有使用绑定(bind),我自己提供 NSOutlineViewDataSource

有人知道我做错了什么吗?

最佳答案

来自reloadData: documentation :

If you just want to update the scroller, use noteNumberOfRowsChanged; if the height of a set of rows changes, use noteHeightOfRowsWithIndexesChanged:.

对我来说,听起来像 noteHeightOfRowsWithIndexesChanged:仅确保新添加的对象在 View 中可见。

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

关于cocoa - NSOutlineView 的 noteNumberOfRowsChanged 不等于 reloadData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com