它看起来像是设置自定义formatters的NSNumberFormatter's方法。iPhone上的setFormat:不可用...
所以这个..。使我的应用崩溃:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setFormat:@"#,##0.0M"];其他人有没有遇到过这种情况?
谢谢,
丹**回答如下。NSNumberFormatter也有名为setPositiveFormat: setNegativeFormat:的方法,它取代了折旧的setFormat: **
发布于 2009-01-06 10:35:31
是的,它在NSNumberFormatter Class Reference中记录为备注(需要登录)。纸条上写着:
iPhone OS注意: iPhone OS仅支持最新的10.4+行为。10.0样式的方法和格式字符串在iPhone OS上不可用。
编辑:添加更多文本以支持后续问题。
您可以将您的代码重写为类似的代码:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setPositiveSuffix:@"M"];
[lengthFormatter setNegativeSuffix:@"M"]; // assuming it can go negative我建议看一下我上面链接的文档。它是专门针对NSNumberFormatter的iPhone版本的,所以里面没有任何会导致应用程序崩溃的方法。它还被设计为比最初的NSNumberFormatter更多地利用用户的本地化设置。有一组方法可以限制显示的内容,同时仍然利用用户的首选项。不幸的是,不再有setFormat:方法。
https://stackoverflow.com/questions/416037
复制相似问题