我有一个要排序的 NSTableView。数据源是一个 NSMutableArray,其中包含自定义类的实例。
-(void)tableView:(NSTableView *)tableView sortDescriptorsDidChange: (NSArray *)oldDescriptors
我正在使用上述内容,以便我可以跟踪用户何时按下表格的标题。我正在使用以下方法进行排序:
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"make" ascending:bool_asc_desc] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [ads_printers_array sortedArrayUsingDescriptors:sortDescriptors];
我想知道的是如何传递被按下的表格列?这将允许我更改 initWithKey:@"make" (使用 if 语句),以便我可以根据单击的标题进行排序。
谢谢。
PS我尝试了以下方法:
if ([ads_rdp_driver_table selectedColumn] == tc_make)
ads_rdp_driver_table 是我的 NSTableView,tc_make 是我定义的 NSTableColumn。但是,我收到此错误:
ISO C++ 禁止指针和整数之间的比较
如果我能找出错误,我想这可能会起作用。