2015-04-25 20 views
0

我正在给我的应用程序添加中文支持。NSSortDescriptor中文...怎么样?

我此行的排序英语和其他语言

NSSortDescriptor *sortByItem = [NSSortDescriptor sortDescriptorWithKey:@"countryName" ascending:YES 
selector:@selector(localizedStandardCompare:)]; 

,但此行似乎没有在中国进行排序。

如何修改此行,以便按中文排序?

+1

你期待什么结果,你得到了什么结果? – gnasher729

+0

我有一个我想要在飞行中进行排序的中国国家列表。因为我不懂中文,所以我在Numbers上导入了这个列表并对其进行了排序。我假设这个由Numbers创建的列表已排序。然后我使用上面的代码和列表不匹配的顺序,所以我想我的排序。 – SpaceDog

+0

我不会在Numbers如何对这些字符串进行排序时投入太多库存。坦率地说,我只是相信'-localizedStandardCompare:'比我信任Numbers更快。本地化标准排序的原型是Finder。此外,方法名称中的“本地化”是指当前的系统语言和语言环境。当系统语言/语言环境是多种英语时,中文名称的排序顺序可能与当系统语言/语言环境是中文语言和语言环境之一时的顺序不同。 –

回答

1

你的假设NSSortDescriptor是错误的,数字是正确的不是一个好的假设。这取决于您在每种情况下使用的语言环境(您的iOS设备是否位于中文语言环境中?是您的Mac吗?)中文通常按照基本+中风进行排序,但您需要一点经验才能知道如何将字符分解为这种格式。我会坦率地相信NSSortDescriptor在任何情况下。在这些事情中,数字并不是金本位。

如果您正在本地化工作,最好的办法就是参与专门为您提供帮助的服务。如果您在语言方面没有足够的经验来了解您是否正确排序,那么很难想象让其余的部分正确无误。