排序NSArray里的数据

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

       

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

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

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

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

       (NSComparisonResult)NSOrderedSame:不变

通过这个方法得到结果:

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

         例如:

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

NSStringCompareOptions字符串比较方式枚举:

              NSCaseInsensitiveSearch - 不区分大小写比较

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容