我有一个基于地址簿的应用程序,在这个应用程序中,我获取联系人的名称并将它们显示在一个表中,就像ABPeopleViewController一样,使用
NSString *name = (NSString *)ABRecordCopyCompositeName([contacts objectAtIndex:indexPath.section]);
aCell.textLabel.text = name;
[name release];当我处理英文名字时,这样做很好;它们是这样出来的,正如我想要的那样:
John Smith (good)
Jane Doe (good)
Taro Tanaka (Actually 太郎田中, and meh)最后一个,在日本,最好是田中太郎。
然而,当我把语言改为中文和日文时,我得到的却是:
Smith John (bad)
Doe Jane (bad)
Tanaka Taro (田中太郎, good)对于所有语言设置,我想要的是:
John Smith
Jane Doe
Tanaka Taro (田中太郎, that is)苹果的内置联系人通过大胆使用姓氏来解决这一问题,但对于一个国际用户来说,这似乎很粗糙。是否有检测语言并相应地显示名称的方法?
发布于 2012-01-03 03:26:21
好的,经过一番挖掘,我在iOS 5的新NSLinguisticTagger中找到了答案,它可以用语言和字符串做各种奇妙的事情。只要稍加操作,就可以强迫我告诉我字符串使用的是哪种语言,因此如何将全名组合在一起。我在另一个问题中发布的答案,因为它漏掉了内存,我无法解决它。下面是链接:
https://stackoverflow.com/questions/8678236
复制相似问题