我想要一个带有 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 不准确。关于如何实现这一目标的任何想法?谢谢!