Cocoa Handyman

Nov 12 2008
Aug 19 2008
Now that’s what I call a debugger.

Now that’s what I call a debugger.

1 note

+

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