排序NSArray里的数据

1、数组里面的元素不是数字类型

       

这类数组排列前需要先进行转换类型:

排序NSArray里的数据_第1张图片

通过NScomparator定义一个比较方法,然后调用这个方法进行排序。

       (NSComparisonResult)NSOrderedDescending: 比较结果后升序排列

       (NSComparisonResult)NSOrderedAscending:比较结果后降序排列

       (NSComparisonResult)NSOrderedSame:不变

通过这个方法得到结果:

2、数组里的元素为字符串

         例如:

如果数组里的元素是这种类型的,就不能转换成NSInteger类型,需要用字符串比较法,代码为:

排序NSArray里的数据_第2张图片

NSStringCompareOptions字符串比较方式枚举:

              NSCaseInsensitiveSearch - 不区分大小写比较

              NSNumericSearch - 按照字符串里的数字为依据,算出顺序

              NSWidthInsensitiveSearch - 忽略字符串的长度,比较出结果

              NSForcedOrderingSearch - 忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending

设定好选项后还是通过NSComparator定义一个比较方法,用NSRange设置好字符串的比较长度,最后得到的结果为:

排序NSArray里的数据_第3张图片

你可能感兴趣的:(排序NSArray里的数据)