gpt4 book ai didi

macos - (基于 View )NSTableView的reloadDataForRowIndexes :columnIndexes: not removing row view?

转载 作者:行者123 更新时间:2023-12-03 16:20:38 25 4
gpt4 key购买 nike

尝试在 10.7 中对基于 View 的 NSTableView 使用 reloadDataForRowIndexes:columnIndexes: 。但有重画问题。如果我编辑该对象并调用 reloadDataForRowIndexes:columnIndexes: 然后删除该对象,我最终会得到一个静态行 View 。

docs warn :

For view-based table views, reloadDataForRowIndexes:columnIndexes: will drop the view-cells in the table row, but not the NSTableRowView instances.

不知道如何告诉 TableView 也删除行 View 。如果我使用 reloadData 一切正常,但显然它是一个更重的调用方法并导致选择丢失。

有什么想法吗?

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

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

最佳答案

我想我已经修复了这个错误。事实证明,在对 tableview 尝试任何类型的 reloadDataForRowIndexes:columnIndexes: 之前,您必须小心使用 [self.tableView endUpdates] 关闭。

我将附加我的雷达,请求在尝试执行此类操作时记录正式控制台的工作情况。

GitHub 项目已更新。

关于macos - (基于 View )NSTableView的reloadDataForRowIndexes :columnIndexes: not removing row view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616256/

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