NSOutlineView ReloadItem不起作用

时间:2015-03-07 02:06:01

标签: nsoutlineview

在我的NSOutlineView项目上调用reloadItem()时似乎没有更新。 ReloadData()更新它们。和rowForItem()一样,后跟reloadDataForRowIndexes()。

通过调试,我发现在ReloadItem()之后永远不会调用viewForTableColumn()。这似乎很奇怪,为什么这个功能存在呢?

那么为什么我不使用rowForItem()&你说reloadDataForRowIndexes()。因为如果项目的isGroupItem返回true,则reloadDataForRowIndexes不执行任何操作。我想我在某处读到这是因为groupItems没有列或什么?

因此,我无法在不调用reloadData()的情况下更新NSOutlineView中的groupItem行。这可以防止我使用任何插入和删除动画......我想要动画。

有没有人找到使用reloadItem更新groupItem行的方法?或者不需要重新加载整个大纲视图的任何其他方式?

最佳,

加文

1 个答案:

答案 0 :(得分:0)

古老的问题,但经过数小时的类似问题,我今天仍然遇到了这个问题。无论如何,我最终在开发者论坛enter image description here

上找到了它

本质上,NSOutlineView通过引用与其所有for item: Any?函数进行比较,这意味着结构将不起作用。

将我的结构更改为有效的类