表单元格视图中的IBAction不会被触发

时间:2012-06-07 22:44:51

标签: objective-c nstableview ibaction

我正在制作我的第一个Mac OS X应用程序而且我遇到了问题。

我在窗口上创建了一个链接到NSArrayController的NSTableView,我想在停止编辑文本字段单元后调用一个方法。所以我选择在结束编辑时调用一个动作,如下面的屏幕截图所示:

enter image description here

之后,我为它创建了一个IBAction:

它在我的AppDelegate.h中生成了这段代码:

- (IBAction)stopEditingHeaderNameCell:(id)sender;

然后我在AppDelegate.m中编辑了IBAction,以便在编辑单元格时显示NSLog消息:

- (IBAction)stopEditingHeaderNameCell:(id)sender
{
    NSLog(@"test");
}

然而,当我通过按Enter键或单击另一个元素来停止编辑单元格时,没有任何反应。我已经尝试将此IBAction应用于NSTextField并且它工作正常,但在应用于此文本字段单元时它不会调用IBAction。

任何人都可以帮我解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

这不是您在表格视图中使用文本字段单元格的方式。您需要让您的应用委托表的委托(您可以在IB中连接它),然后实现controlTextDidEndEditing:。当您结束编辑时(通过跳出单元格或单击另一行或列),将调用此方法。