- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 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/
我需要为某些字段创建一个自定义 NSFormatter,但如果值无效,我不想使用警报表来显示错误消息...我更喜欢仅使用 NSBeep()。这是可能的还是我必须用 NSFormatter 提出的标准表
这个问题在这里已经有了答案: dateFromString returns nil for some values (1 个回答) 关闭 6 年前。 我的格式化程序返回 nil 和一些日期字符串,这
如果您使用 Cocoa 一段时间,您可能熟悉 NSDateFormatter 和 NSNumberFormatter。它们可以方便地从日期和数字创建格式化显示字符串,或者将日期或数字字符串转换为数值,
我正在尝试使用一个类来覆盖 OS X 应用程序中的 NSFormatter。我尝试了书中的一个例子,但它来自旧版本的 XCode。我的问题是我不知道如何设置 NSTextfield 的格式化程序。我不
我有一个 NSPopUpButton,其内容值绑定(bind)到 NSNumbers 的 NSArray。 NSPopUpButton 在其弹出菜单中正确显示数字数组。但是,当我更改所选值时,我收到一
我已经使用绑定(bind)到数组 Controller 的表设置了简单的 Xcode 项目。如果数组 Controller 充满了具有字符串属性的实体,它就可以正常工作。但是,我想将属性更改为 BOO
在 Cocoa 中,我有一个 NSOutlineView,其中单元格是 NSTextFieldCell。该单元格显示的值是根据特定规则格式化的字符串(例如 float 或中间有空格的 float 对)
我正在获取字符串中对象的价格,我想将其格式化为货币。我正在使用以下代码: var priceString : NSString = urlDict.objectForKey("price") as N
我在日期格式方面遇到了真正的困难。我想完全忽略时区,因为所有时间都被认为是本地时间。我在 Playground 上试过了,效果很好。 var dateFormatter: NSDateFormatte
我想使用 NSFormatter 子类来格式化我用来显示选项列表的 NSPopUpButton 的内容。 基本上,我有一个 MyObjects 的 NSArray,它通过内容值绑定(bind)绑定(b
我想对输入字符串中的第一个字符进行着色。使用 controlDidChange 委托(delegate)方法可以轻松完成此操作。但是添加格式化程序后使用: [field setFormatter:[[
我在这里阅读了类似的问题,并在我的应用程序中编写了此方法 let formatter = NumberFormatter() func convertEngNumToPersi
我有一种方法可以将特定格式的字符串转换为 NSDate,但它偶尔会返回 nil。 - (NSDate *)dateFromString:(NSString *)dateAndTime { NS
我在 Swift 中有一个 NSFormatter,它附加到 NSTextField。它可以防止输入非法字符,但是当我尝试访问下一个字段的值时,它给出了一个 nil 值。 下面是类: class PS
我正在尝试为 SMPTE 时间代码格式化两个 NSTextField,其格式为:HH:MM:SS:FF。然而,当用户将SMPTE编码切换为丢帧时,SS和FF之间的分隔符需要切换为;(HH:MM:SS;
在Qt和C#中,我能够轻松地为电话号码和序列号等内容定义输入掩码。到目前为止,我读过的所有内容都让我相信 NSFormatter 就是答案,但我很难找到一个完整的示例,但它并不糟糕。我真的很想为序列号
我有一个必须是唯一的文本字段,因此我添加了自定义 NSFormatter (见下文) 格式化程序可以工作,正如您在屏幕截图中看到的那样,但是我正在使用的连续绑定(bind)已损坏,因此例如绑定(bin
我正在尝试将 NSFormatter 对象添加到 NSTextField 中,以便我可以验证文本字段是否仅包含字母数字字符串。 所以我这样做: 我创建了一个新的 Swift macOS 应用。 我将
我有一个项目当前使用带有绑定(bind)的基于单元格的 NSTableViews。我正在更新项目以改用 View 。对于单元格,我可以在代码中实例化 NSFormatter,将其添加到 NSTable
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我是一名优秀的程序员,十分优秀!