我正在对NSTextField
进行子类化,以便用户可以使用向上和向下光标键递增/递减整数值。它通过其委托工作正常,但通过setIntegerValue:
设置用户界面状态不会更新通过cocoa绑定绑定的基础值。
我需要更新控件绑定的对象和使用的密钥路径,而不是更新控件,我需要更新模型。
我无法在任何地方找到如何执行此操作,因此我重载了- bind:toObject:withKeyPath:options:
子类的NSTextField
方法,其中绑定已建立,我可以在其中查看被观察对象和它的关键路径,但我肯定会复制控件中某处已有的信息。
有没有办法通过Cocoa绑定获取控件绑定到的对象和关键路径,而不会像这样乱砍?
我很感激任何帮助。
答案 0 :(得分:0)
是的,还有更好的方法:
- (NSDictionary *)infoForBinding:(NSString *)binding
包含有关绑定信息的字典,如果未绑定绑定,则为nil。该字典包含三个键/值对:
NSObservedObjectKey
:对象绑定,NSObservedKeyPathKey
:键路径绑定,NSOptionsKey
:带有选项的字典及其绑定值。