iPhone NSNumberFormatter setFormat:
-
03-07-2019 - |
题
似乎 NSNumberFormatter的
方法用于设置自定义 formatters
。 iPhone上没有 setFormat:
...
这样......崩溃我的应用程序:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setFormat:@"#,##0.0M"];
这是否发生在其他人身上?
谢谢,
丹
**以下答案。 NSNumberFormatter
还有名为 setPositiveFormat:setNegativeFormat:
的方法,它们取代了折旧的 setFormat:
**
解决方案
是的,它记录在 NSNumberFormatter类参考(需要登录)。说明说:
iPhone OS注:iPhone OS支持 只有现代的10.4+行为。 iPhone OS上没有10.0样式的方法和格式字符串。
编辑:添加了更多文字以支持后续问题。
你可以把你的东西改写成类似的东西:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setPositiveSuffix:@"M"];
[lengthFormatter setNegativeSuffix:@"M"]; // assuming it can go negative
我建议看一下上面链接的文档。它专门用于NSNumberFormatter的iPhone版本,因此没有任何会导致应用程序崩溃的方法。它还旨在比原始的NSNumberFormatter更多地利用用户的本地化设置。有一组方法可以限制显示的内容,同时仍然利用用户的偏好。不幸的是,不再有 setFormat:
方法。
不隶属于 StackOverflow