lowercaseStringWithLocale有什么作用?

时间:2012-12-13 02:20:38

标签: iphone objective-c ios localization nsstring

有没有人确切知道NSString的新(iOS 6)lowercaseStringWithLocale方法有什么作用? documentation非常吝啬,我在Apple的开发者论坛中没有找到对此方法的单一引用。

在我的应用程序本地化时,我有兴趣将它们从我的字符串文件中的单词更改为小写时出现在句子中 - 除了德语版本,其中一些单词应始终保持大写。这是这个方法的用途吗?还是完全不同的东西?

2 个答案:

答案 0 :(得分:0)

lowercaseString中的讨论可能会有所启发:

  

注意:此方法执行规范(非本地化)映射。它适用于需要稳定结果的编程操作,而不依赖于用户的区域设置首选项。对于呈现给用户的字符串的本地化案例映射,请使用相应的lowercaseStringWithLocale:方法。

因此,如果您为了不区分大小写的数据库查找等目的而计算字符串的小写版本,请使用lowercaseString。如果您打算向用户显示结果,请使用lowercaseStringWithLocale

请注意lowercaseStringWithLocale不会根据这个词是否应该是小写的实际单词作出决定。它按照你的要求去做,并且不会质疑你的动机。

答案 1 :(得分:0)

低/大写确实与语言环境有关。我所知道的唯一一个例子(它是一个杀手锏,许多全球化错误的来源)是土耳其语问题。请点击此处查看概述:http://www.codinghorror.com/blog/2008/03/whats-wrong-with-turkey.html

基本上,当你大写“嗨”时你会得到“HI”,除了土耳其你得到“Hİ”

同样地,当你小写“HI”时你会得到“hi”除了土耳其你得到“hı”