Внутри NStableViewDelegate я использую окно листа, чтобы начать операцию редактирования вроде этого:Как потреблять «изменить» событие для NSTableView
- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex {
editEntity = [[contractsAC selectedObjects] objectAtIndex:0];
needsWriteToArrayController = FALSE;
[self beginSheet];
return NO;
}
- (void) beginSheet {
[NSApp beginSheet:contractEditWindow
modalForWindow:mainWindow
modalDelegate:nil
didEndSelector:NULL
contextInfo:nil
];
}
Если я дважды щелкните ячейку таблицы, вещи ведут себя, как ожидалось: Появится лист, и я могу редактировать его входы.
Если ячейка таблицы выбрана, и я нажимаю клавишу возврата, вещи, как правило, подключаются: появляется лист, но событие возврата возвращается к листу. В свою очередь, загорается кнопка SAVE по умолчанию на листе - и заставляет лист исчезать. Слишком плохо, нет возможности редактировать ;-)
Должен ли я использовать текущее ключевое событие внутри метода shouldEditTableColumn:? Если да, как я могу?
Thx, Jonathan! О, я задал тривиальный вопрос ;-) – SteAp