NSString,localizedString是什么意思?

时间:2010-05-24 16:43:23

标签: iphone objective-c cocoa-touch

如果这是常见问题解答,我很抱歉,但下面这两个声明有什么区别?我一直在寻找谷歌和苹果文档,我似乎无法找到一个与众不同的差异。我最好的猜测是本地化的一个被优化以在运行时更新。有人可以为我澄清一下吗?

NSString *title1 = [NSString localizedStringWithFormat:@"%@, %@", @"1", @"2"];

NSString *title2 = [NSString stringWithFormat:@"%@, %@", @"1", @"2"];

非常感谢

加里

2 个答案:

答案 0 :(得分:3)

阅读docs on the method中的讨论。它详细说明了它的用途。其目的是应用区域设置格式,例如正确的小数分隔符(浮点数中的句点与逗号)。请阅读Formatting String Objects了解详情。

答案 1 :(得分:3)

来自NSString类参考:

此方法相当于使用initWithFormat:locale:并将[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]作为locale参数传递。

作为格式化的示例,此方法根据%f和%d替换中的区域设置替换小数,并在必要时调用descriptionWithLocale:而不是描述。

此代码摘录从另一个字符串和float:

创建一个字符串

NSString *myString = [NSString localizedStringWithFormat:@"%@: %f\n", @"Cost", 1234.56];

如果区域设置为en_US,则结果字符串的值为“Cost:1234.560000 \ n”;如果区域设置为fr_FR,则结果字符串的值为“Cost:1234,560000 \ n”。

NSString Class Reference