tro*_*foe 2 cocoa binding key-value-observing nstextfield
我有几个面板包含NSTextField绑定到File的Owner对象中的属性的控件.如果用户编辑了一个字段,然后按Tab键,要移动到下一个字段,它将按预期工作.但是,如果用户没有按Tab键并按下OK按钮,则不会在File的Owner对象中设置新值.
为了解决这个问题,我在绑定中连续设置了更新,但这必须是昂贵的(编辑:或者至少它是不优雅的).
有没有办法在按下确定按钮时强制绑定更新,而不是连续使用更新?
你是对的,你不需要使用持续更新值选项.
如果你正在使用绑定(你是),那么你应该做的是调用管理绑定-commitEditing的NSController子类的方法.您通常在关闭正在显示的工作表的方法中执行此操作.
-commitEditing 告诉控制器在活动控件中完成编辑并将当前编辑提交给绑定对象.
每当执行诸如保存之类的持久性操作时,最好调用它.