首页 > 其他 > 详细

NSSortDescriptor(数组排序)

时间:2014-04-05 12:40:43      阅读:493      评论:0      收藏:0      [点我收藏+]

如果数组里面的每一个元素都是一个个model,例如

DepartsDate.h文件

[plain] view plaincopy
  1. #import <Foundation/Foundation.h>  
  2.   
  3. @interface DepartsDate : NSObject  
  4.   
  5. @property (nonatomic, retain) NSDate *date;  
  6. @property (nonatomic, assign) int    price;  
  7.   
  8. @end  
DepartsDate.m文件

[plain] view plaincopy
  1. #import "DepartsDate.h"  
  2.   
  3. @implementation DepartsDate  
  4.   
  5. @synthesize date, price;  
  6.   
  7. - (void)dealloc  
  8. {  
  9.     [date release];  
  10.     [super dealloc];  
  11. }  
  12.   
  13. @end  
那么对这个数组排序就可以这样

[plain] view plaincopy
  1. NSMutableArray *array = [NSMutableArray array];  
  2. ......  
  3. NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES];[array sortUsingDescriptors:[NSArray arrayWithObject:sort]];  
这是按照时间升序排列。如果需要降序,那么将YES改为NO。


使用NSSortDescriptor可以很方便的进行多条件排序,例如:同样是上面的假设,首先按照价格升序排列;当价格相同时,按照日期降序排列。

[plain] view plaincopy
  1. NSMutableArray *array = [NSMutableArray array];  
  2. ......  
  3. NSSortDescriptor *sort1 = [NSSortDescriptor sortDescriptorWithKey:@"price" ascending:YES];  
  4. NSSortDescriptor *sort2 = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO];  
  5. [array sortUsingDescriptors:[NSArray arrayWithObjects:sort1, sort2, nil]];  

NSSortDescriptor(数组排序),布布扣,bubuko.com

NSSortDescriptor(数组排序)

原文:http://blog.csdn.net/wildcatlele/article/details/22981239

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!