我想要一个带有1个字符串列的简单表格,通过使用返回键添加一个新行。 另外我想删除一行,如果用户也清除特定行上的文本。NSTableView通过清除文本删除行
我已经成功地添加一个新行用这个方法返回键:
-(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不准确。 关于如何实现这一点的任何想法? 谢谢!