需要帮助对包含瑞典字符(åäö)的NSArray进行排序。 目前我正在使用
[keyArray addObjectsFromArray:[[names allKeys]sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]];
但这是一种排序方式 A Å Ä Ö
需要帮助对包含瑞典字符(åäö)的NSArray进行排序。 目前我正在使用
[keyArray addObjectsFromArray:[[names allKeys]sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]];
但这是一种排序方式 A Å Ä Ö
NSArray *array = [NSArray arrayWithObjects:@"aar", @"åäö", @"aao", nil];
NSArray *sorted = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [(NSString*)obj1 compare:obj2 options:NSDiacriticInsensitiveSearch|NSCaseInsensitiveSearch];
}];
注意:使用sortedArrayUsingComparator:
需要iOS 4.0及以上版本。对于iOS < 4.0,请使用sortedArrayUsingSelector:
。
[NSString localizedCompare:]
是获取具有 å ä ö 的单词以正确方式排序的最佳方式。NSDiacriticInsensitiveSearch
将 å 视为 a,ä 视为 a,ö 视为 o 进行处理,这并不是您在对瑞典语进行排序时想要的。
localizedCompare:
进行比较选择器。 - Eimantas