Cocoa Handyman

Nov 12 2008
Aug 19 2008
Now that’s what I call a debugger.
Now that’s what I call a debugger.
+
Yesterday’s future, tomorrow! Or maybe next week.
Aug 15 2008

You want this method.

On NSArrayController.
- (id)clickedObject
{    
    NSInteger index = [tableView clickedRow];
    return [[self arrangedObjects] objectAtIndex:index];
}
+

Edit after insert in NSArrayController

Hacky; improved version coming soon.
- (void)editObject:(id)object
{
  [self setSelectedObjects:[NSArray arrayWithObject:object]];
  [tableView editColumn:0
                    row:[self selectionIndex]
              withEvent:nil
                 select:YES];
}

- (void)add:(id)sender
{
  [super add:sender];
  assert([self selectsInsertedObjects]); // cheating

  [self performSelector:@selector(_editSelectedObject)
             withObject:nil];
}

- (void)_editSelectedObject
{
  [self editObject:[[self selectedObjects] lastObject]];
}
Page 1 of 8