可可 – “内容值”和“内容对象”之间有什么区别?

可可 – “内容值”和“内容对象”之间有什么区别?,第1张

概述我正在探索绑定,并有一个NSPopUpButton – 它提供了许多选项,用于“选择内容”,“内容对象”,“内容值”,“选定对象”,“选定值”和“选定标签”下的绑定。有人可以解释这些之间的区别吗? 那些在 Cocoa Bindings Reference for NSPopUpButton年解释,虽然这个参考不是很清楚。 内容是一个阵列控制器,为d出按钮提供元素。阵列控制器应该绑定到一个数组。为了 我正在探索绑定,并有一个NSPopUpbutton –

它提供了许多选项,用于“选择内容”,“内容对象”,“内容值”,“选定对象”,“选定值”和“选定标签”下的绑定。有人可以解释这些之间的区别吗?

解决方法 那些在 Cocoa Bindings Reference for NSPopUpButton年解释,虽然这个参考不是很清楚。

内容是一个阵列控制器,为d出按钮提供元素。阵列控制器应该绑定到一个数组。为了确定数组中的每个元素如何显示在d出按钮中,-description被发送到数组中的每个对象。

您可以通过以下两种方式进行自定义:

>如果希望“选定对象”绑定提供与由内容绑定到的阵列控制器管理的数组元素不同的对象,则可以将“内容对象”绑定到另一个数组控制器。它也可以是同一个阵列控制器,但具有不同的键路径;
>如果要使d出式按钮选项与由Content绑定到的阵列控制器管理的阵列中的每个元素的描述不同,可以将Content Values绑定到另一个数组控制器,该阵列控制器的元素包含d出式窗口选项。它也可以是同一个阵列控制器,但具有不同的键路径。

一个简单的例子:假设你有以下类:

@interface Customer : NSObject@property (copy) Nsstring *name;@property (copy) Nsstring *phoneNumber;@end

而你没有覆盖 – 描述方法。在这种情况下,-description是无用的,名称属性将是d出选项的不错选择。你会绑定:

>内容到一个数组控制器,它管理一个Customer实例数组,控制器键排列对象;
>内容值到相同的数组控制器,控制器键排列对象,模型键盘名称。

然后,您可以将Selected Object绑定到其他内容,例如应用程序委托或窗口控制器中的属性。 Cocoa绑定然后将所选的Customer实例分配给该属性。

现在假设您对所选的整个客户对象不感兴趣,但只对其电话号码感兴趣。在这种情况下,您可以将内容对象绑定到同一个阵列控制器,控制键排列对象,模型键盘电话号码。当选择d出选项时,Cocoa绑定将设置phoneNumber而不是整个Customer实例。总而言之:如果不绑定Content Objects,Selected Object表示数组中的原始对象。如果绑定内容对象,则所选对象可能会有所不同。

如果您对原始对象(或内容对象)不感兴趣,但根据内容值绑定,d出选项中显示的实际字符串将绑定所选值。

向d出式按钮提供数据的快速配方:

>绑定内容,如果您有对象(不仅字符串)代表d出选项;
>绑定内容值如果通过向数组元素发送描述不能通过内容获得向用户显示的选项;
>如果希望“选择对象”从内容中返回与数组元素不同的内容,则绑定内容对象。

在d出按钮中获取当前选择的快速配方:

>如果要知道表示当前d出选择的完整对象(来自内容或内容对象),请绑定所选对象;
>如果您只想要d出窗口中当前选择的字符串,则绑定所选值。

最后,如果d出选项实际上是从其项目具有标签集的菜单中选择的,那么您将使用所选标​​签。

总结

以上是内存溢出为你收集整理的可可 – “内容值”和“内容对象”之间有什么区别?全部内容,希望文章能够帮你解决可可 – “内容值”和“内容对象”之间有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1038086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存