为ios技术而生

数组中字符串排序不区分大小写,按照数字排序

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;

}

上一篇下一篇

猜你喜欢

热点阅读