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

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

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

具体实现,2步即可:

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

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

[arr sortUsingDescriptors:sortDescriptors];


关于数组内数据排序的方法推荐_第1张图片
beforeSorting.png

关于数组内数据排序的方法推荐_第2张图片
afterSorting.png

你可能感兴趣的:(关于数组内数据排序的方法推荐)