2

我有一个NSDocument应用程序,我希望NSTextField每次用户保存时都提交对模型的当前更改(例如通过 cmd+s)。

我不使用绑定,目前更改被推送到-controlTextDidEndEditing:方法中的模型。调用[window makeFirstResponder:nil]确实会推动对模型的更改,但也会导致控件失去焦点,这不是一个真正合理的行为。

谷歌搜索我看到有几个人建议使用该-commitEditing方法,但它仅适用于绑定,我错了吗?

4

1 回答 1

0

您可以controlTextDidEndEditing:从您的save操作中调用您已经定义的:

-(IBAction)save:(id)sender
{
    [self controlTextDidEndEditing: ...]
}

触发您已经编写的相同代码!

于 2012-10-16T03:36:07.920 回答