2015-04-25 59 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在任何情況下。在這些事情中,數字並不是金本位。

如果您正在本地化工作,最好的辦法就是參與專門爲您提供幫助的服務。如果您在語言方面沒有足夠的經驗來了解您是否正確排序,那麼很難想象讓其餘的部分正確無誤。