利用 NSSortDescriptor 对 NSMutableArray 排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用 NSSortDescriptor 对 NSMutableArray 排序相关的知识,希望对你有一定的参考价值。

有时我们在NSMutableArray中存的是网络请求返回的数据,而每一个元素又是一个NSDictionary,如果这时候需要把数组中的元素按照每个元素字典中某一个key来排序,那么我们可以利用Objective C中的类:NSSortDescriptor来快速实现需求。

 通常会把排序的代码封装到一个方法中,比如下面这个方法:

+ (void) changeArray:(NSMutableArray *)dicArray orderWithKey:(NSString *)key ascending:(BOOL)yesOrNo{

       NSSortDescriptor *distanceDescriptor = [[NSSortDescriptor alloc] initWithKey:key

ascending:yesOrNo];

NSArray *descriptors = [NSArray arrayWithObjects:distanceDescriptor,nil];

[dicArray sortUsingDescriptors:descriptors];

   [distanceDescriptor release];

}

参数说明:

dicArray:待排序的NSMutableArray。

key:按照排序的key。

yesOrNo:升序或降序排列,yes为升序,no为降序

以上是关于利用 NSSortDescriptor 对 NSMutableArray 排序的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSSortDescriptor 对 NSOrderedSet 进行排序

iPhone:无法对多对关系进行 NSSortDescriptor。如何排序?

使用 NSSortDescriptor 按时间倒序对 CoreData 进行排序

NSSortDescriptor 没有对我的 NSMutableArray 进行排序?

使用 NSSortDescriptor 对 NSNumber 进行排序

NSSortDescriptor 对核心数据获取请求没有影响