0
我想排序一個數組,我有這樣的元音被視爲正常版本的字符(ä== a等)。我認爲localizedCaseInsensitiveCompare:應該做的伎倆。但事實並非如此。任何人?排序NSArray igonring Umlauts
最佳
-f
我想排序一個數組,我有這樣的元音被視爲正常版本的字符(ä== a等)。我認爲localizedCaseInsensitiveCompare:應該做的伎倆。但事實並非如此。任何人?排序NSArray igonring Umlauts
最佳
-f
localizedCaseInsensitiveCompare:
比較了使用在由用戶選擇的當前語言的標準規則,忽略的情況。在你的情況下,你想忽略變音符號,而不是這種情況。這意味着你需要做別的事情。
您需要使用compare:options:
並通過NSDiacriticInsensitiveSearch
作爲選項。見here。
要使用它對數組進行排序,您需要使用sortedArrayUsingComparator:
的塊,或者在NSString
中實現類別方法,並將該選擇器傳遞給sortedArrayUsingSelector:
。不要忘記爲類別方法的名稱加上前綴,以便它不與框架中的私有方法重疊。所以,做一些像
@interface NSString (myaddition)
-(NSComparisonResult)mySecretDiacriticsInsensitveCompare:(NSString*)string;
@end
嘿謝謝,我做了它使用'NSString'類別。 – flohei 2010-11-03 15:30:30