我有一个NSTableView,当我点击特定的标题列时,表格中的数据会被颠倒或排序。我已经检查了NSTableView
以及NSTableColumn
,但找不到任何禁用此功能的方法。如果有人可以帮助您在点击特定列的标题时禁用此排序,我将不胜感激。
答案 0 :(得分:36)
NSTableView
的排序由其sortDescriptors
完成,请参阅here。
NSTableColumn
使用其sortDescriptorPrototype
(请参阅here)生成NSTableView
的排序描述符,具体取决于您点击列标题的次数等。
如果使用dataSource
来管理数据,则通过委托方法tableView:sortDescriptorsDidChange:
传达排序描述符,请参阅here。您只需忽略更改消息即可停止排序。
如果使用Cocoa绑定来管理数据,则排序描述符由表列生成并设置为NSArrayController
。要停止它,只需打开表列绑定的检查器,选择value
,然后取消选中“创建排序描述符”。