NStableViewDelegate 内で、シート ウィンドウを使用して次のような編集操作を開始します。
- (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
];
}
表のセルをダブルクリックすると、期待どおりに動作します。シートが表示され、その入力を編集できます。
表のセルが選択されているときに Return キーを押すと、物事が配線される傾向があります。シートは表示されますが、Return キー イベントはシートに転送されます。次に、シートのデフォルトの SAVE ボタンが起動され、シートが消えます。残念ながら、編集する機会はありません;-)
shouldEditTableColumn: メソッド内で現在のキー イベントを使用する必要がありますか? はいの場合、どうすればよいですか?