如何在代码中访问NSTextField中的NSNumberFormatter属性

时间:2012-07-22 15:13:26

标签: objective-c cocoa

我创建了一个带有NSTextField的普通IBOulet的nib文件。 在IB(4.4)中,为此NSNumberFormatter添加NSTextField并为其提供一些属性,如十进制样式,最大值和最小值等。

现在,我想在代码中修改已经嵌入文本字段的NSNumberFormatter的其他一些属性,如SetGroupingSeparator,SetMaximunFractionDigits等。

假设我的NSTextField被命名为pf, 通常我可以访问单元格中的值(字符串):

[pf SetFloatValue]

myFloat = [pf floatValue].

这没有任何问题。 但是,我无法在文档中或任何地方找到如何修改代码中的NSNumberFormatter属性的示例。 我知道如何在代码中创建NSNumberFormatter,但不知道如何将其分配给NSTextField(我不知道是否会覆盖IB中的创建者)。 谁能帮我一个明确的例子如何做到这一点?。

2 个答案:

答案 0 :(得分:1)

在代码中创建NSNumberFormatter并将其设置为NSTextField可以通过以下方式完成:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[[textField cell] setFormatter:numberFormatter];

我在Apple's Data Formatting Guide

中找到的详细信息

修改格式化程序非常相似,通过[NSCell formatter]访问格式化程序:

NSNumberFormatter * numberFormatter = [[textField cell] formatter];

答案 1 :(得分:0)

你就像IB中的任何其他对象一样。在.h文件中为格式化程序创建一个IBOutlet并将其连接到IB中的格式化程序,然后您可以通过插座访问其属性。