iPhone NSNumberFormatter setFormat: [英] iPhone NSNumberFormatter setFormat:

查看:102
本文介绍了iPhone NSNumberFormatter setFormat:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎 NSNumberFormatter的方法用于设置自定义 formatters setFormat:在iPhone上不可用...

It appears as though NSNumberFormatter's method for setting custom formatters. setFormat: isn't available on the iPhone...

SO这...崩溃我的应用程序: / p>

SO this... crashes my app:

NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setFormat:@"#,##0.0M"];

这是否发生在任何人身上?

Has this occurred to anyone else?

谢谢,

Dan
**以下答案。 NSNumberFormatter 也有 setPositiveFormat:setNegativeFormat:的方法替换折旧的 setFormat: **

Dan **ANSWERED BELOW. NSNumberFormatter also has methods called setPositiveFormat: setNegativeFormat: which replace the depreciated setFormat: **

推荐答案

是的,它被记录为 NSNumberFormatter类引用(需要登录)。注释说:

Yes, it's documented as a note in the NSNumberFormatter Class Reference (requires login). The note says:


iPhone操作系统注意:iPhone OS支持
只有现代的10.4+行为。
10.0样式方法和格式字符串在iPhone操作系统上不可用。

iPhone OS Note: iPhone OS supports only the modern 10.4+ behavior. 10.0-style methods and format strings are not available on iPhone OS.

您可以重写类似的内容:

You could re-write yours to something similar:

NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setPositiveSuffix:@"M"];
[lengthFormatter setNegativeSuffix:@"M"]; // assuming it can go negative

我建议看看我上面链接的文档。它专门为iPhone版本的NSNumberFormatter,所以没有一个方法,将导致您的应用程序崩溃在那里。它还被设计为比原始NSNumberFormatter更好地利用用户的本地化设置。存在用于限制什么显示和这样的同时仍然利用用户的偏好的方法组。不幸的是,不再有 setFormat:方法。

I suggest taking a look at the document that I linked above. It's specifically for the iPhone version of NSNumberFormatter, so none of the methods that will cause your application to crash are in there. It's also designed to take far more advantage of the user's localized settings than the original NSNumberFormatter did. There are groups of methods for restricting what shows up and such while still taking advantage of the user's preferences. Unfortunately, there is no longer a setFormat: method.

这篇关于iPhone NSNumberFormatter setFormat:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆