当一段数组里面的字符串,需要进行排序的时候,:原文链接
英文通过字母排序:
中文通过拼音排序:
这里有一个算法,直接使用就可以进行排序
-(void)testSort
{ NSArray *stringsArray = [NSArray arrayWithObjects:@"string 1", @"你好",@"你在", @"String 11", @"上海", nil];
static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch | NSWidthInsensitiveSearch | NSForcedOrderingSearch;
NSLocale *currentLocale = [NSLocale currentLocale];
NSComparator finderSortBlock = ^(id string1, id string2) {
NSRange string1Range = NSMakeRange(0, [string1 length]);
return [string1 compare:string2 options:comparisonOptions range:string1Range locale:currentLocale];
};
NSArray *finderSortArray = [stringsArray sortedArrayUsingComparator:finderSortBlock];
NSLog(@"finderSortArray: %@", finderSortArray);
}
输出结果:
<__NSArrayI 0x109622d90>(
你好,
你在,
上海,
string 1,
String 11
)
---------------------
网友评论