【问题标题】:Cocoa-Bindings : Update NSObjectController manually?Cocoa-Bindings:手动更新 NSObjectController?
【发布时间】:2009-10-19 18:08:03
【问题描述】:

在我的小可可应用程序中,我在 NSObjectController 的帮助下将一个类的属性绑定到了一些文本字段。到目前为止我遇到的唯一问题:在 NSObjectController 使用当前输入更新类之前,您总是必须留下一个文本字段。

如果用户没有离开 texfield 并立即单击保存/提交按钮,这将成为一个问题。该类不包含当前输入。总是坏事。

我正在寻找一种方法来避免这种情况。就像告诉 NSObjectController 获取当前输入,即使用户已经退出了该字段。如果可能的话,我可以在保存之前将此命令放在保存方法中,一切都会好起来的。

【问题讨论】:

    标签: cocoa cocoa-bindings


    【解决方案1】:

    在“确定”按钮的处理程序中向控制器发送commitEditing 消息。这将满足您的要求。很简单:

    - (void)save:sender {
        if (![self.myObjectController commitEditing]) {
            // Handle error when object controller can't commit editing
        }
    
        // Other stuff
    }
    

    【讨论】:

      【解决方案2】:

      如果您转到文本字段的value 绑定并选中“持续更新值”选项,这将导致每次用户更改模型对象时都会在模型对象上设置新值,即每次击键一次。这将确保模型在关闭窗口之前具有正确的值,尽管它可能有点矫枉过正,具体取决于数据模型中设置的值的影响(如果有的话)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多