0
我如何總是可以在NSTableView中對列進行排序? 當我的視圖加載時,數據並未排序,並且數據更新時也是如此。現在只有當我點擊標題列時,數據纔會被排序。總是排序NSTableView
這裏是我的代碼排序的數據上的標題欄,當點擊:
在viewDidLoad中:
let descriptorName = NSSortDescriptor(key: "designation", ascending: true, selector: #selector(NSString.caseInsensitiveCompare(_:)))
tableview.tableColumns[0].sortDescriptorPrototype = descriptorName
委託FUNC:
func tableView(_ tableView: NSTableView, sortDescriptorsDidChange oldDescriptors: [NSSortDescriptor]) {
let dataArrayMutable = NSMutableArray(array: self.data)
dataArrayMutable.sort(using: tableView.sortDescriptors)
self.data = (dataArrayMutable as NSArray) as! [Article]
tableview.reloadData()
}
問題解決:我必須在加載tableView之前對數據數組中的數據進行排序。以下是代碼:
data = data.sorted(by: { $0.designation! < $1.designation! })
謝謝,我沒有想到它! – user3722523