gpt4 book ai didi

cocoa - 如何将 NSFormatter 子类与 NSPopUpButton 一起使用

转载 作者:行者123 更新时间:2023-12-03 18:07:03 25 4
gpt4 key购买 nike

我想使用 NSFormatter 子类来格式化我用来显示选项列表的 NSPopUpButton 的内容。

基本上,我有一个 MyObjects 的 NSArray,它通过内容值绑定(bind)绑定(bind)到 NSPopUpButton,并且我想在弹出菜单中显示除 -description 返回的内容之外的内容。我真的不想使用转换器,因为这样我必须创建一个全新的数组并将每个对象转换为字符串,然后再将其添加到新数组中。

通过 IB 或代码在 NSPopUpButton 本身上使用 setFormatter: 不起作用,我怀疑是因为只有单个单元格的格式化程序才会应用于列表中的项目。

是否有一种简单的方法可以为 NSPopUpButton 的所有单元格设置格式化程序?基本上我希望只设置一次就可以忘记它。

最佳答案

通常,您会将弹出按钮绑定(bind)到包含自定义模型对象的数组 Controller (通过内容绑定(bind)),并使用内容值绑定(bind)来指定这些对象上的键路径以及要用作标题的字符串.

据我了解,您有一个纯字符串数组要用作数据源,只是您想为标题显示不同的字符串,对吗?

我不确定为什么如果按照上面的设置制作数据转换器将无法工作 - 或者也许我误解了什么?您将有一个绑定(bind)到实际字符串,另一个绑定(bind)到使用转换器的字符串,但它们都将使用相同的数组 Controller 。您的其他选择是创建一个模型类来包装字符串并提供标题属性,或者在 NSString 上创建一个类别,该类别返回您的标题以用作显示值绑定(bind)。在所有这些情况下,您都可以在代码中创建自己的 NSFormatter 并使用它返回正确的字符串标题。

关于cocoa - 如何将 NSFormatter 子类与 NSPopUpButton 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com