NSOutlineView列没有排序

时间:2015-06-03 22:25:42

标签: swift cocoa nsoutlineview

我无法在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字符串,比较:应该工作,对吗? 也许我只需要写一个比较器?

1 个答案:

答案 0 :(得分:3)

设置表格列sortDescriptorPrototype不会导致它排序。它只是确定如果大纲视图按该列排序,所在的列的顺序。

要对大纲视图进行排序,请设置大纲视图的sortDescriptors属性。但是,如果您使用数据源(而不是绑定)来提供大纲的数据,则大纲视图将告诉您的数据源通过调用其-outlineView:sortDescriptorsDidChange:方法对其数据进行排序。然后,您的数据源有责任对其数据进行实际排序,以便大纲视图的后续查询按排序顺序获取数据。您的数据源还负责根据项目在订单中的移动方式调整大纲视图的选择。