让谷歌搜索NSTableView的编辑变化,你会得到很多详细解答的。
要长话短说:使用(部分)以下(以及类似)的委托方法:
- (void)controlTextDidEndEditing:(NSNotification *)obj
- (void)controlTextDidChange:(NSNotification *)aNotification
- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor
,并测试他们显示什么是适合你的应用程序:
- (void)controlTextDidEndEditing:(NSNotification *)obj
{
NSDictionary *userInfo = [obj userInfo];
NSTextView *aView = [userInfo valueForKey:@"NSFieldEditor"];
NSLog(@"controlTextDidEndEditing %@", [aView string]);
}
- (void)controlTextDidChange:(NSNotification *)aNotification
{
NSDictionary *userInfo = [aNotification userInfo];
NSTextView *aView = [userInfo valueForKey:@"NSFieldEditor"];
NSLog(@"controlTextDidChange >>%@<<", [aView string]);
}
- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor
{
NSLog(@"control: textShouldEndEditing >%@<", [fieldEditor string]);
return YES;
}
你可以这样做,因为NSTableView
的单元格是NSTextFieldCell
s;