关于数组内数据排序的方法推荐

之前说到关于数组去除重复的数据的方法推荐,用NSSet可以高效的去重,但是毕竟NSSet是集合,去重后的数据往往是无序的,一般业务要求都需要有序的展示数据,比如聊天记录,商品票务等。

所以需要结合一个不错的排序手段才能组合成一个完美的过滤套餐去优化数据。说到排序,可能一般会考虑自己写一个遍历的算法去对比排序,但这样代码不仅复杂而且效率也不高。那怎么能高效的排序呢?Foundation里面已经提供了很好的方法来进行排序了,用官方做法NSSortDescriptor即可实现,可读性也很高,而且十分简单。

具体实现,2步即可:

构造排序过滤器,可以设置排序类别,如按“id”排序,ascending=NO 表示按照降序排序。

NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"id" ascending:NO]];
需要排序的数组arr,通过排序过滤器sortDescriptors,即完成。

[arr sortUsingDescriptors:sortDescriptors];


beforeSorting.png

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

推荐阅读更多精彩内容