Вы можете создать подкласс NSTableView, переопределяя keyDown
примерно так:
- (void)keyDown:(NSEvent *)theEvent
{
unichar key = [[theEvent charactersIgnoringModifiers] characterAtIndex:0];
if(key == NSDeleteCharacter)
{
[self deleteItem];
return;
}
[super keyDown:theEvent];
}
Затем убедитесь, что любой NSTableView, для которого вы хотите использовать функцию удаления, использует ваш подкласс в Интерфейсном Разработчике вместо обычного NSTableView.
Вы можете реализовать метод - (void)deleteItem
, например, так:
- (void)deleteItem
{
if ([self numberOfSelectedRows] == 0) return;
NSUInteger index = [self selectedRow];
[documentController deleteItemWithIndex:index];
}