利用 NSSortDescriptor 对 NSMutableArray 排序

偶尔善良 提交于 2020-03-08 02:55:05

有时我们在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为降序。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!