NSObjectController 及其子类为选择返回一个代理对象。我想了解他们为什么选择这样设计。该文档似乎没有说明为什么会这样。
问问题
402 次
2 回答
4
Apple 的Cocoa Bindings Programming Topics有这样的说法:
您可以建立与控制器的选择方法或 selectedObjects 方法的绑定。但是,您应该避免通过 selectedObjects 数组进行绑定,例如 selectedObjects.name。相反,您应该使用 selection.name。同样,您应该避免通过 selectedObjects 返回的数组来观察键。随着选择的变化,选择返回的代理更有效地管理键值观察的变化。
我想你会发现你的答案就在最后一句话。
对于它的价值,[objectController valueForKeyPath:@"selection.self"]
返回所选对象本身。
于 2012-11-27T01:47:12.093 回答
0
还有:
通常你需要直接访问控制器当前选择的对象,而不是选择返回的代理对象。NSObjectController 及其子类提供了 selectedObjects 方法来允许您这样做。此方法返回一个数组,其中包含接收者当前选择的对象。NSObjectController 的实现返回一个包含单个对象的数组,即内容对象。
于 2015-05-27T01:35:54.447 回答