textShouldEndEditing
的{{1}}通常如何更新coca绑定(默认情况下)?我已经覆盖了该方法,并且作为副作用,绑定不再更新,所以我想恢复此行为。我看到的唯一建议是为其创建一个额外的NSTextField
和NSObjectController
,但原始commitEditing
使用了哪些代码?
在我的情况下,我的textShouldEndEditing
的值绑定到名为 Jobs 的NSTextField
。从我的NSController
子类,我看不到将作业引用到NSTextField
的方法。由于为作业实体创建commitEditing
,作业出现在Interface Builder中。
答案 0 :(得分:2)
我找到了两个答案:
infoForBinding
。我不知道这个方法,它可以用来识别绑定控制器并将其作为目标。
我原以为IBOutlet
无法用于子类我没有在IB中初始化但是我忘了我可以在我的应用程序中从subClassed NSTextFields
中删除插座。然后很容易为IBOutlet
创建一个NSArrayController
,并且所有工作都按照我的希望进行。