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

时间:2013-07-24 19:30:55

标签: cocoa nstableview hig

这是关于使用NSTableView进行UI行为的最佳做法的问题。

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

我可以在重新加载数据后更改此行为以修改选择,以便用户的原始选择保持选中状态,即使他们已经移动了。这将更改所选的行索引,因此它也可能对用户产生不良影响。

Apple对这种情况有什么要说的,还是有标准行为?

1 个答案:

答案 0 :(得分:0)

我在HIG中找不到任何内容,但NSArrayController文档和"Cocoa Bindings Programming Topics"文档在“保留选择”部分中指出默认行为是保留选择时内容改变了。

另请参阅setPreservesSelection的文档。