获取localizedStandardCompare在进行比较时使用的字符串

Mar*_*ack 5 cocoa-touch localization objective-c uitableview nsstring

我正在使用排序数组localizedStandardCompare:,它为我提供了以正确的本地化顺序排序的对象.现在我想在indexfor中使用它们UITableView,这意味着我需要生成节标题.自localizedStandardCompare:定位它们以来,以"Æ"开头的字符串与A对象一起排序.

因此,如果我迭代数组并为每个第一个字母创建一个部分,我将得到"A","Æ","A","B"等部分.是否有办法获取用于的字符串比较,或至少模仿它?我尝试过使用不同的编码进行转换,但是没有人会为"Æ"返回"A".

有关如何为本地化字符串生成节标题的任何其他建议?

Flo*_*dis 0

您可以使用该CFStringTransform方法来获取使用的字符串。

例如,使用该kCFStringTransformToLatin值从输入字符串中获取简单的拉丁字符串。

这实际上与该方法的行为并不完全相同localizedStandardCompare:,但您可以使用字符串转换为用于实际排序的对象生成附加属性。

关于这个主题有很多很好的资源: