【发布时间】:2009-06-09 00:51:50
【问题描述】:
我正在使用 Cocoa 绑定来管理对象表。我了解绑定是如何工作的,但我遇到了一个小问题。管理对象表会很好而且很花哨,除了这些对象必须管理实际的蓝牙硬件。我正在开发一个框架,该框架提供一个表示与该硬件的连接的类,并制作了另一个“管理器”类,使其符合键值。换句话说,这个管理器类必须能够连接并修改其属性字典中的“连接”状态,成为该硬件的代理并修改属性,并根据所做的更改更新硬件。
但是,每当我在对象本身中设置新值时,例如在将“connect”键的值更改为 2(查看)的“connect”方法中(即propertiesDict = newDict),更改似乎没有被它必然会被观察者拾起。我查看了NSKeyValueObservingProtocol 中的observeValueForKeyPath:ofObject:change:context:。但是,我不知道如何处理上下文参数。
我希望这是有道理的......但如果有人有任何想法,我很想听听。
【问题讨论】:
-
您可能需要向我们展示一些代码。从您的描述中很难弄清楚到底发生了什么。一般来说,符合键值编码的适配器类并不难实现,所以我相信我们可以提供帮助。
标签: cocoa cocoa-bindings key-value-observing