集合变更观察与相关术语解析
1. 集合变更观察
当对应概念名称的内部状态发生变化时,根键路径末端的值也会相应改变。 bind_toObject_withKeyPath_options 方法接受一个选项参数,Cocoa 提供了大量默认选项名称,这些选项假定绑定对象是用户界面控件。例如,其中一些选项用于管理对象选择的处理方式。这些选项在 Apple 的 NSKeyValueBindingCreation 协议参考文档中有简要描述。
键值观察也可用于数组(以及未使用过的 NSSet 类)。以下是一个示例类:
class ArrayHolder < OSX::NSObject
kvc_array_accessor :values
def initWithValues(*initial_values)
@values = NSMutableArray.arrayWithArray(initial_values)
self
end
def values; @values; end
end
kvc_array_accessor 表明 values 属性是 Cocoa 文档中所说的多对多关系。该类未定义通常的 getter 和 setter 方法,因为数组的操作方式不同,如下测试所示:
def setup
@watcher = ruby
超级会员免费看
订阅专栏 解锁全文
754

被折叠的 条评论
为什么被折叠?



