You can subclass NSTableView by overriding keyDownas follows:
- (void)keyDown:(NSEvent *)theEvent
{
unichar key = [[theEvent charactersIgnoringModifiers] characterAtIndex:0];
if(key == NSDeleteCharacter)
{
[self deleteItem];
return;
}
[super keyDown:theEvent];
}
Then make sure that any NSTableView you want to use for deletion uses your subclass in Interface Builder instead of the usual NSTableView.
You can implement the method - (void)deleteItem, for example, as follows:
- (void)deleteItem
{
if ([self numberOfSelectedRows] == 0) return;
NSUInteger index = [self selectedRow];
[documentController deleteItemWithIndex:index];
}