AlwaysUsesMultipleValuesMarker在NSTreeController中做了什么?

时间:2011-12-18 04:52:57

标签: nstreecontroller

根据Apple的文档,


setAlwaysUsesMultipleValuesMarker:

设置接收器在选择多个对象时是否始终返回多值标记,即使它们具有相同的值。

- (void)setAlwaysUsesMultipleValuesMarker:(BOOL)flag

讨论:

如果您的应用程序不允许编辑多个值,则将标志设置为YES可以提高性能。默认值为NO。


但是,即使阅读完文档后,我也无法理解这一切的意义。任何人都能用例子提供更简单的解释吗?

1 个答案:

答案 0 :(得分:0)

Cocoa Binding Guide上的Apple文档深处找到了这个问题的答案。


  • NSMultipleValuesMarker

NSMultipleValuesMarker表示在控制器中选择了多个对象,并且请求的键的值不相同。

默认情况下,只有当请求键的值不同时,控制器才会返回NSMultipleValuesMarker。例如,如果selection.name的值返回一个包含三个字符串的数组 - “Tony”,“Tony”,“Tony” - 返回字符串“Tony”而不是NSMultipleValuesMarker

可以使用方法setAlwaysUsesMultipleValuesMarker:以编程方式配置集合控制器,也可以通过选中Interface Builder中的始终使用多值标记复选框来配置集合控制器,使其始终返回{{1}当选择多个项目时,即使值相等。