重新加载后恢复NSTableView排序顺序

时间:2016-10-18 09:41:21

标签: objective-c nstableview

在Interface Builder中,使用可排序列(通过单击列标题)设置NSTableView。数据源使用NSArray。更新一行数据时,将重新加载表的数据,刷新数组并根据数组的顺序布置数据行。

我想保留表格列的排序顺序。我尝试保存表的sortDescriptors,重新加载数据,并恢复表的sortDescriptors,但这不会触发所需的重新加载。我怀疑我想根据sortDescriptors刷新数组,以便重新加载将根据需要进行布局。请赐教。

2 个答案:

答案 0 :(得分:0)

答案在我的鼻子底下。我可以使用数据源方法tableView:sortDescriptorsDidChange:

我认为更清晰的解决方案是发布数据源的通知。它应该与单击列标题时的通知相同。如果有人知道,请在这里分享。

答案 1 :(得分:-1)

而不是在数据源中使用NSArray使用NSMutableArray并根据sortDescriptors.Mutable数组进行排序,而是根据表列的顺序保留记录。