NSTableView 重新排序时处理选定的行

Bri*_*ham 5 cocoa hig nstableview

这是一个关于 NSTableView 的 UI 行为最佳实践的问题。

我有一个 NSTableView,其内容偶尔会刷新。用户可以选择表中的无行、一行或多行。刷新数据时,可以删除某些行或重新排序。NSTableView 的默认行为似乎是保持选择相同的行索引,无论数据如何重新排序(我理解这种行为,因为 NSTableView 如何知道行移动到哪里?)

我可以更改此行为以在重新加载数据后修改选择,以便用户的原始选择保持选中状态,即使它们已移动。这将更改所选的行索引,因此也可能会让用户感到不舒服。

苹果对这种情况有什么要说的或者有标准行为吗?

Bri*_*ham 0

我在 HIG 中找不到任何内容,但NSArrayController文档和“Cocoa Bindings 编程主题”文档中的“保留选择”部分表明默认行为是在内容更改时保留选择。

另请参阅 的文档setPreservesSelection