【发布时间】:2012-06-07 18:57:47
【问题描述】:
我有一个公开NSString 属性的自定义类。在 Interface Builder 中,我已将 NSButton 的 title 绑定到我的自定义类的属性。
是否可以从我的自定义类中获取对 NSButton 实例的引用?
本质上,我试图在我的自定义类中找到绑定到属性的所有用户界面元素。
【问题讨论】:
-
我没有提供完整的解决方案,但我建议覆盖
-addObserver:forKeyPath:options:context:。我认为您需要在绑定的控制器上执行此操作。 -
你想要完成什么?也许还有另一种方法可以利用不同的绑定、视图子类或 KVO。
-
- (void *)observationInfo也可能产生有用的信息,我不确定。 -
不可能有唯一的答案,因为多个视图(或其他对象)可能绑定到同一个对象和属性。至于 noa 的建议,观察者可能是绑定到你的对象的视图,也可能是一些对你不透明的辅助对象。
-
上面有很多好的建议。 Ken 是对的,所有方法都会产生一些未公开的内部帮助器/包装器类。例如
NSKeyValueObservationInfo、NSObjectParameterBinder和NSKeyValueObservance。我想我可以为这些创建标题,但风险是接口将来会发生变化......
标签: cocoa cocoa-bindings