NSTableView设置排序列?

ove*_*cyn 4 cocoa nstableview

我有一个包含多列的NSTableView.单击每个列按列排序,如iTunes中所示.但是,当tableview首次加载时,行未排序,并且没有突出显示表列或显示向上/向下指示符图像.我想知道是否有一个简单的方法,我可以编程设置列排序表,并在启动时设置指标图像.

我能想到的唯一解决方案是使用[NSTableView setIndicatorImage:inTableColumn:]和[NSTableView setHighlightedColumn:],但这使得点击标题不会突出显示列.我宁愿不必使用tableView:mouseDownInHeaderOfTableColumn:并重写标题上的整个点击以对事物进行排序.

Kai*_*ili 8

您可以尝试设置排序描述符.

- (void)setSortDescriptors:(NSArray *)array


- (void)windowControllerDidLoadNib:(NSWindowController *) windowController
{
   [super windowControllerDidLoadNib:windowController];
   NSSortDescriptor* sortDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"order" ascending: YES] autorelease];
   [oTable setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
}
Run Code Online (Sandbox Code Playgroud)

http://lists.apple.com/archives/cocoa-dev/2006/May/msg01434.html