尝试在10.7中使用reloadDataForRowIndexes:columnIndexes:
作为基于NSTableView
的视图。但是有重绘问题。如果我编辑对象并调用reloadDataForRowIndexes:columnIndexes:并稍后删除该对象,我最终得到一个静态行视图。
对于基于视图的表视图,reloadDataForRowIndexes:columnIndexes: 将删除表格行中的视图单元格,但不删除NSTableRowView 实例
我不知道如何告诉表视图也放弃行视图。如果我使用reloadData一切正常,但显然它是一个更重的方法来调用并导致选择丢失。
有什么想法吗?
更新:添加了一个演示应用来演示该错误。可以在GitHub上找到。它有解决方法代码但是我仍然希望找到答案。
答案 0 :(得分:2)
我想我修复了这个bug。事实证明,在桌面视图上尝试任何类型的[self.tableView endUpdates]
之前,必须要小心关闭reloadDataForRowIndexes:columnIndexes:
。
我会附加我的雷达,要求在尝试做这样的事情时记录正式的控制台工作。
GitHub项目已更新。