return キーを使用して新しい行を追加する 1 つの文字列列を持つ単純なテーブルが必要です。また、ユーザーが特定の行のテキストもクリアした場合、行を削除したいと考えています。
このメソッドを使用して、リターン キーを使用して新しい行を追加することができました。
-(BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector{
if (commandSelector == @selector(insertNewline:)) {
[self returnKey];
return YES;
}
else if(commandSelector == @selector(moveUp:)){
[self tableMoveUp];
return YES;
}
else if(commandSelector == @selector(moveDown:)){
[self tableMoveDown];
return YES;
}
else{
NSLog(@"%@", NSStringFromSelector(commandSelector));
}
return NO;
}
問題は、ユーザーが行のテキストをクリアしてリターン キーを押したときに行を削除することです。このメソッドは、テーブルの実際の変更がデータ ソースに保存される前に呼び出されています。次のように、列の dataCell を取得しようとしました。
NSTextFieldCell *cell = [self.tableView.tableColumns[0] dataCell];
NSLog(@"%@",cell.stringValue);
しかし、stringValue は正確ではありません。これを達成する方法についてのアイデアはありますか? ありがとうございました!