Mỗi cột bảng có một phương pháp setSortDescriptorPrototype
Sắp xếp mô tả những cách nói mảng làm thế nào để sắp xếp tự (tăng dần, giảm dần, bỏ qua trường hợp, vv) lặp qua từng cột mà bạn muốn như sắp xếp được và gọi phương pháp này trên mỗi người trong số các cột, và thông qua các mô tả loại yêu cầu (trong trường hợp của tôi, tôi sẽ sử dụng nhận dạng cột)
for (NSTableColumn *tableColumn in tableView.tableColumns) {
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:tableColumn.identifier ascending:YES selector:@selector(compare:)];
[tableColumn setSortDescriptorPrototype:sortDescriptor];
}
Sau khi viết đoạn mã này khởi, NSTableViewDelegate
có một phương pháp - (void)tableView:(NSTableView *)aTableView sortDescriptorsDidChange:(NSArray *)oldDescriptors
rằng thông báo cho bạn bất cứ khi nào một loại bộ mô tả được thay đổi, thực hiện phương thức này trong ủy nhiệm và gửi một thông điệp đến dữ liệu arr ay để sắp xếp tự
- (void)tableView:(NSTableView *)aTableView sortDescriptorsDidChange:(NSArray *)oldDescriptors
{
self.data = [self.data sortedArrayUsingDescriptors:sortDescriptors];
[aTableView reloadData];
}
Phương pháp này sẽ bị sa thải mỗi lần một tiêu đề cột được nhấp, và NSTableColumn
cho thấy một hình tam giác nhỏ thoải mái thể hiện thứ tự sắp xếp.
Tôi có hai cột trong bảng, như Tên và Lương, tôi đặt giá trị hardcoded mà không có ràng buộc, Bây giờ tôi muốn sắp xếp dữ liệu, cách tôi thực hiện nhiệm vụ này. – upender