数组中字符串排序不区分大小写,按照数字排序
2016-05-12 本文已影响255人
走在字里行间
//数组中字符串排序不区分大小写,按照数字排序
- (NSArray*) stringSortNuber:(NSArray*)array{
//NSLocale类的的主要作用便是用来封装本地化相关的各种信息,NSLocale更多是使用在对数字,时间日期本地化的处理的过程
NSLocale*currentLocale = [NSLocalecurrentLocale];
//对比字符串的依据不区分大小写按照字符串里的数字为依据,算出顺序忽略字符串的长度,比较出结果忽略不区分大小写比较的选项
staticNSStringCompareOptionsconparisonOptions =NSCaseInsensitiveSearch|NSNumericSearch|NSWidthInsensitiveSearch|NSForcedOrderingSearch;
//定义了一个block
NSComparatorfunderBlock = ^(idstring1,idstring2){
//定义了一区分字符串的范围
NSRangestring1Range =NSMakeRange(0, [string1length]);
return[string1compare:string2options:conparisonOptionsrange:string1Rangelocale:currentLocale];
};
//排序数组使用比较器
NSArray*finderSorArray = [arraysortedArrayUsingComparator:funderBlock];
returnfinderSorArray;
}