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

Objective c 如何在代码中访问NSTextField中的NSNumberFormatter属性,objective-c,cocoa,Objective C,Cocoa,我已经为NSTextField创建了一个具有普通IBOulet的nib文件。 在IB(4.4)中,为该NSTextField添加一个NSNumberFormatter,并为其提供一些属性,如十进制样式、最大值和最小值等 现在,我想在代码中修改这个NSNumberFormatter的一些其他属性,比如SetGroupingSeparator、SetMaximunFractionDigits等等 假设我的NSTextField名为pf, 通常,我可以通过以下方式访问单元格中的值(字符串): [pf

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

现在,我想在代码中修改这个
NSNumberFormatter
的一些其他属性,比如SetGroupingSeparator、SetMaximunFractionDigits等等

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

[pf SetFloatValue]

这是没有任何问题的工作。 但是,我在文档或任何地方都找不到如何修改代码中的
NSNumberFormatter
属性的示例。 我知道如何在代码中创建
NSNumberFormatter
,但不知道如何将其分配给
NSTextField
(我不知道它是否会覆盖在IB中创建的)。
有人能帮我举一个清晰的例子来说明如何做到这一点吗?

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

您的操作与IB中的任何其他对象一样。在.h文件中为格式化程序创建IBOutlet并将其连接到IB中的格式化程序,然后您可以通过出口访问其属性。

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

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[[textField cell] setFormatter:numberFormatter];
我在中找到的详细信息

修改格式化程序应该非常类似,通过以下方式访问格式化程序:


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

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[[textField cell] setFormatter:numberFormatter];
我在中找到的详细信息

修改格式化程序应该非常类似,通过以下方式访问格式化程序:


谢谢你,迈克尔。这很有效,节省了我继续搜索的时间。谢谢Michael。这样做可以节省我继续搜索的时间。谢谢rdelmar。我也会尝试这种方法。谢谢rdelmar。我也会尝试这种方法。
NSNumberFormatter * numberFormatter = [[textField cell] formatter];