objective-c - 保存前提交 NSTextField 更改

标签 objective-c macos cocoa nstextfield

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

我不使用绑定(bind),目前更改已通过 -controlTextDidEndEditing: 方法推送到模型。调用 [window makeFirstResponder:nil] 确实会将更改推送到模型,但也会导致控件失去焦点,这实际上并不是一个合理的行为。

谷歌搜索我发现有几个人建议使用 -commitEditing 方法,但它仅适用于绑定(bind),我错了吗?

最佳答案

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

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

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

关于objective-c - 保存前提交 NSTextField 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12906394/

相关文章:

iphone - 改变不会持续

Xcode 5 预定的 Bot 未集成

objective-c - iOS:TableView + 带有图像的部分中标题的标题

c++ - 在头文件中声明和初始化常量

objective-c - NSTableViewDelegate 接收多个 NSNotifications

macos - cocoa 图像选择器弹出框

ios - uiview 动画在 ios 7 中有效,但在 ios 6 中被剪裁和偏移

ios - 我在 iPhone 中哪里可以找到保存的文件?

android - 无法在 Android Studio 中打开 keystore - "Redundant length bytes found"

XML 解析器( objective-c )