看起来好像NSNumberFormatter's
设置自定义的方法formatters
.setFormat:
在iPhone上不可用...
这样......崩溃我的应用程序:
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:
方法.