macoscocoacellnstableviewnstablecolumn

Getting a column in an NSTableView with editable column order


I have an NSTableView where I would like to be notified if the user clicks in a column "ClickMe". I linked the entire table view to a method which can extract the clickedColumn:, but I get an absolute number and not a reference to the "ClickMe" column (which may have been moved to another place).

I could of course program my own search algorithm to see if column X is actually the "Clickme" column, but that would not be very elegant. Is there a way to identify columns properly, and to receive that ID programmatically?


Solution

  • I found a way to do my own search in a fairly fast way, but I still have a feeling I am putting too much effort in this:

    First, set the Identifier of the desired column in the Interface Builder to "ClickMeColumn". Then:

    NSInteger cmColumn = [tableView columnWithIdentifier:@"ClickMeColumn"];
    if ( [tableView clickedColumn] == cmColumn )
          NSLog(@"Clicked me!");
    

    I am looking for something along the lines of [tableView clickedColumnIdentifier].