利用 NSSortDescriptor 对 NSMutableArray 排序
2016-02-27 09:16
337 查看
有时我们在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为降序
通常会把排序的代码封装到一个方法中,比如下面这个方法:
+ (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为降序
相关文章推荐
- 输出菱形
- (GOF23设计模式)_组合模式
- 微博推荐静态数据存储方案: lushan
- 在ShowModalDialog查询,实现查询结果不弹出新窗口
- 欢迎使用CSDN-markdown编辑器
- xxx.hbm.hibernate 配置
- MapWinGIS编程(一)
- 从RunningAppProcessInfo得到ApplicationInfo
- 初学spring mvc的几点心得
- An error occurred when merging assemblies: ILMerge.Merge: ERROR!!: Duplicate type 'index' found in a
- 无法加载指定的元数据资源
- MAC终端命令
- JDK1.8 HashMap源码分析
- 【LeetCode】Word Break
- 用eclipse加载别人的工程,报错Target runtime com.genuitec.runtime.generic.jee60 is not defined
- 【数据结构】二叉树
- (GOF23设计模式)_装饰模式
- 深入理解JVM之JVM内存区域详解
- 【Web API系列教程】3.6 — 实战:处理数据(创建JavaScript客户端)
- 日经春秋 20160227