Skip navigation.
 
mlWhy did I prefix the key of an NSSortDescriptor with "@"?
FROM : Jerry Krinock
DATE : Tue Jul 25 21:51:12 2006

I'm trying to re-use some code I wrote a few months ago for
tableView:didClickTableColumn.  This method sorts the clicked column and
flips the up/down triangle.

I notice that, for some reason which I cannot remember but vaguely recall
activated some semi-secret feature, I prefixed the character "@" onto the
tableColumn's identifier (string) before passing it as the key to to
NSSortDescriptor's initWithKey:ascending method.

I cannot find any notes or any mention of that "@" in searching
documentation today.  Am I imagining things?

Jerry Krinock

- (void)tableView:(NSTableView *)tableView
  didClickTableColumn:(NSTableColumn *)tableColumn {
   
  //*** Here is where I add the prefix:****************
  NSString* key = [NSString stringWithFormat:@"@%@",
                        [tableColumn identifier]] ;
 
    BOOL ascending ;
   
    NSImage* currentImage =
    [tableView indicatorImageInTableColumn:tableColumn] ;
   
    if (currentImage == [NSImage imageNamed:@"NSAscendingSortIndicator"]) {
        [tableView setIndicatorImage:[NSImage
              imageNamed:@"NSDescendingSortIndicator"]
                      inTableColumn:tableColumn] ;
        ascending = NO ;
    } else {
        [tableView setIndicatorImage:[NSImage
              imageNamed:@"NSAscendingSortIndicator"]
                      inTableColumn:tableColumn] ;
        ascending = YES ;
    }
   
  //*** Here is where I use it: ***************
    NSSortDescriptor* descriptor = [[NSSortDescriptor alloc]
                              initWithKey:key ascending:ascending] ;
    NSArray* descriptors = [NSArray arrayWithObject:descriptor] ;
   
    NSArrayController* arrayController = [self arrayController] ;
    [arrayController setSortDescriptors:descriptors] ;
    [table reloadData] ;
    [table selectRowIndexes:[arrayController
            selectionIndexes] byExtendingSelection:NO] ;
   
    [descriptor release] ;
}

Related mailsAuthorDate
mlWhy did I prefix the key of an NSSortDescriptor with "@"? Jerry Krinock Jul 25, 21:51
mlRe: Why did I prefix the key of an NSSortDescriptor with "@"? Ricky Sharp Jul 25, 23:05