我无法在Mac OS X 10.10中对NSOutlineView进行排序......
let tableColumn = outlineView.tableColumnWithIdentifier("LocationName")
println(tableColumn?.description)
let sorter = NSSortDescriptor(key: "self", ascending: false)
tableColumn!.sortDescriptorPrototype = sorter
outlineView.reloadData()
以上代码都没有在Interface Builder中设置排序属性。
" self"?
可能有问题NSOutlineView列包含swift字符串,比较:应该工作,对吗? 也许我只需要写一个比较器?
答案 0 :(得分:3)
设置表格列sortDescriptorPrototype
不会导致它排序。它只是确定如果大纲视图按该列排序,列所在的列的顺序。
要对大纲视图进行排序,请设置大纲视图的sortDescriptors
属性。但是,如果您使用数据源(而不是绑定)来提供大纲的数据,则大纲视图将告诉您的数据源通过调用其-outlineView:sortDescriptorsDidChange:
方法对其数据进行排序。然后,您的数据源有责任对其数据进行实际排序,以便大纲视图的后续查询按排序顺序获取数据。您的数据源还负责根据项目在订单中的移动方式调整大纲视图的选择。