代码中的根键路径使用及相关开发实践
1. 根键路径在代码中的使用
在常规的 Ruby 代码里,我们可以借助类似火车车厢连接方式的点号表示法(boxcar notation)来遍历结构,例如: controller.region.capital.name 。不过,对于能够成为根键路径一部分的对象,我们可以采用另一种表示法: controller.valueForKeyPath('region.capital.name') 。
valueForKeyPath 是绑定实现的一部分,关于它与绑定的具体联系,这里暂不详细展开。值得一提的是,这种表示法在处理数组时表现出色。假设存在一个 country 对象,其 regions 属性是一个 Region 对象数组,我们可以通过以下方式获取所有首都名称的数组: country.valueForKeyPath('regions.capital.name') 。实际上,在键路径中使用数组会隐式执行 Ruby 的 collect 操作,这也是表格列能够绑定到像 “arrangedObjects.display_name” 这样的键路径,并利用结果填充单元格的原因。
2. 子类化 NSArrayController
2.1 替换 NSArrayController
我们打算用一个子类 PreferencesController 来替换
超级会员免费看
订阅专栏 解锁全文
1343

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



