我正在使用带动画的NSOutlineView。因此更新它是痛苦的,只需要更改需要更新的位。即我不能只在所有事情上调用ReloadData()。
以下代码不适用于顶级项目。值永远不会在视图上更新。调用ReloadData()更新它没有动画。
var incomeTreeItem = self.sidebarItems[1] as MyTreeItem
incomeTreeItem.balance = netIncome
var row = self.leftView.rowForItem(incomeTreeItem)
self.leftView.reloadDataForRowIndexes(NSIndexSet(index: row), columnIndexes: NSIndexSet(index: 0))
当我在顶级项目的孩子身上使用它时,它确实有效。
树看起来像这样
物品等级1 --------余额
-----物品等级2 --------余额
-----物品等级2 --------余额
物品等级1 --------余额
-----物品等级2 --------余额
-----物品等级2 --------余额
代码适用于物品等级2,但不适用于物品等级1.我看不出有什么理由不起作用。
其他人遇到过这个问题?任何想法如何解决它?
干杯,