问题标签 [nsformatter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
881 浏览

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

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

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

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

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

0 投票
1 回答
1721 浏览

cocoa - NSDateFormatter 的两位数年份不起作用

我有一个应用于 NSTextFieldCell 的 10.4 样式日期格式化程序。我调用 setTwoDigitStartDate: (尝试使用纪元日期和“参考”日期)但是当我输入具有两位数年份的日期时,它将年份设置为 0009 而不是 2009。

标题:

执行:

我错过了一些明显的东西吗?

0 投票
1 回答
1096 浏览

macos - 如何使自定义 NSFormatter 在 Snow Leopard 上正常工作?

我有一个自定义 NSFormatter 附加到几个 NSTextFields ,其唯一目的是在将字符输入字段时将它们大写。我的格式化程序的完整代码包含在下面。

stringForObjectValue()和实现是无操作的getObjectValue(),几乎直接取自 Apple 的文档。我正在使用该isPartialStringValid()方法返回字符串的大写版本。此代码在 10.4 和 10.5 中正常工作。当我在 10.6 上运行它时,我得到“奇怪”的行为,其中文本字段并不总是呈现输入的字符,有时只是显示垃圾。我尝试启用 NSZombie 检测并在 Instruments 下运行,但没有报告任何内容。我在“控制台”中看到如下错误:

任何人都可以阐明正在发生的事情吗?我只是错误地使用了 NSFormatter 吗?

0 投票
1 回答
341 浏览

cocoa - NSFormatter 可以与 NSPopUpButton 一起使用吗?

这个问题类似于这个问题:How do I use an NSFormatter subclass with an NSPopUpButton

如该问题所述,似乎 NSPopUpButton 的单元格使用的“格式化程序”似乎不起作用。我想知道这是否是预期的,或者是否真的有设置 NSPopUpButton 的格式化程序的目的。

现在,我有一个 NSPopUpButton,其“内容对象”绑定到 NSArrayController 的排列对象,其“内容数组”是 NSNumber 的 NSArray。将 NSPopUpButton 单元格的格式化程序设置为一个简单的 NSNumberFormatter 将 NSNumbers 格式化为货币格式是行不通的;弹出菜单显示未格式化的数字。

我想知道如何格式化 NSPopUpButton 的弹出菜单中显示的字符串?我觉得这应该是相当直截了当的;必须使用值转换器或显示路径的特殊值,似乎有点矫枉过正,应该更容易。

提前致谢。

0 投票
1 回答
383 浏览

objective-c - 如何让 NSFormatter 子类与 NSTableColumn 排序键和选择器一起使用?

我的设置:

  • 我有一个 sqlite 数据库,我从中填充 NSDictionary 对象的 NSMutableArray,这是我的 NSTableView 的数据源。
  • 其中一列包含“时间”,时间是一个包含秒的浮点数。
  • 我想将此列中的值显示为分钟:秒。例如,我的数据将是 123.4329387 我想显示 2:03,我对应用于列中我的 NSTextField 的 NSFormatter(或 NSNumberFormatter)的子类没有问题。
  • 我通过使用 IB 中的表列属性设置了排序,我只是将排序键设置为“时间”,选择器设置为“比较:”,无需格式化程序即可正常工作。

目前,当我排序(降序)时,这给了我类似的东西

1:37, 1:31, 0:10, 0:10, 0:09, 1:30, 1:30, 1:26, 0:09

和类似的废话,看起来好像发生了什么事,但绝对没有排序。

如何获得排序以查看基础数据而不是格式化值?或者,如何指定自定义排序方法以及将所述方法的代码放在哪里?我已经搜索了很多,但没有找到任何可以帮助我解决这个问题的东西,非常感谢任何帮助。

0 投票
1 回答
1134 浏览

cocoa - 让 NSFormatter 不断验证 NSTextFieldCell

在 Cocoa 中,我有一个 NSOutlineView,其中的单元格是 NSTextFieldCell。单元格显示的值是根据特定规则格式化的字符串(例如浮点数或浮点数对,中间有空格)。我制作了一个自定义 NSFormatter 来验证文本,这似乎没有问题。

但是,单元格(或大纲视图,我不确定是什么原因造成的)似乎仅在我的编辑结束时才使用格式化程序。如果我在文本字段中输入一些字母字符(这违反了格式化规则),这些字符就会出现——我注意到格式化程序正在发挥作用的唯一方法是,我现在无法将键盘焦点从该单元格移开。如果我将单元格的内容返回为有效形式,那么我可以将焦点移开。

我已将单元格视图和大纲视图都设置为“连续”。

如果我一开始就无法在单元格中输入文本会更好。是否有可能做到这一点,如果可以,怎么做?

0 投票
1 回答
939 浏览

ios4 - dateFromString 更改 24 小时后返回 nil

我在 iPhone 中使用 24 小时设置。更改为 24 小时设置后,datefromstring 始终返回 nil。我改成 12 小时制,它又可以工作了。为什么 ?

0 投票
1 回答
962 浏览

iphone - NSFormatter dateFromString 小时问题!

当我尝试将 NSString 转换为 NSDate 时... setDateFormat 再给我 3 小时!

例子

seekLightStart --> 01/01/2001 9:37:35 formatterDate ---> 07/11/1999 13:30

为什么 ??

0 投票
2 回答
289 浏览

objective-c - 使用 GData-Objectivec-client 时格式化 NSDate 和 NSString 的问题

我正在与一个奇怪的情况作斗争:相同的代码在两个不同的项目中工作方式不同。一个项目只是带有此代码的空命令行实用程序。第二个项目是链接 gdata-objectivec-client 库。

这是代码:

在命令行实用程序中,结果是相同的

“2011 年 3 月 8 日 10:07:36 +0300”

.

但是在 gdata-objectivec-client 链接到它的项目中,结果更改为

“2011 年 3 月 8 日 07:07:36 +0000”

我找不到什么问题,有什么建议吗?

0 投票
1 回答
1648 浏览

objective-c - 我在哪里可以找到实现 NSTextField 掩码的 NSFormatter 示例

QtC#中,我可以轻松地为电话号码和序列号等内容定义输入掩码。到目前为止,我所阅读的所有内容都让我相信NSFormatter就是答案,但我很难找到一个不烂的完整示例。我真的想为在段之间使用破折号的序列号创建一个格式化程序,并将字符限制为 az 和 0-9。我希望能够在破折号上打字,复制和粘贴等。

示例: ABC12-34DEF-GH567-890IJ-KL123