2011-09-30 229 views
3

尝试在10.7中使用reloadDataForRowIndexes:columnIndexes:作为我的观点NSTableView。尽管重绘了问题。如果我编辑该对象并调用reloadDataForRowIndexes:columnIndexes:并稍后删除该对象,则最终得到一个静态行视图。(基于视图)NSTableView的reloadDataForRowIndexes:columnIndexes:不删除行视图?

docs warn

对于基于视图的表视图,reloadDataForRowIndexes:columnIndexes: 将下降的观点,细胞的表行中,但不是NSTableRowView 实例。

不知道我该如何告诉表视图来删除行视图。如果我使用reloadData一切正常,但显然这是一个更重的方法来调用并导致选择损失。

有什么想法?

更新:添加了演示应用程序来演示该错误。可以在GitHub上找到。它有解决方法的代码,但无论如何,我仍然想找到答案。

https://github.com/zorn/NSTableView-ViewBased-ReloadRowBug

回答

2

我想我解决了这个错误。事实证明,在尝试任何种类的reloadDataForRowIndexes:columnIndexes:之前,你必须小心地结束[self.tableView endUpdates]

我会追加我的雷达,请求一个正式的控制台在试图做这样的事情时记录下来。

GitHub项目已更新。

相关问题