Cocoa Handyman

Aug 15 2008

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 1