A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 桑托尔 中级黑马   /  2014-5-5 14:44  /  1222 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 桑托尔 于 2014-5-5 15:36 编辑

请问这个方法的详细用法 谢谢!
-(NSArray *)sortedArrayUsingDescriptors: (NSArray *)sortDescriptors

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

2 个回复

倒序浏览
大哥你得把问题贴出来,描述不清无法回答
回复 使用道具 举报
  1. void arraySort() {
  2.     Student *stu1 = [[Student alloc] initWithName:@"lisi" andAge:18 andScore:87];
  3.     Student *stu2 = [[Student alloc] initWithName:@"wangwu" andAge:19 andScore:60];
  4.     Student *stu3 = [[Student alloc] initWithName:@"zhangsan" andAge:28 andScore:89.5];
  5.     Student *stu4 = [[Student alloc] initWithName:@"zhaoliu" andAge:38 andScore:99];
  6.     Student *stu5 = [[Student alloc] initWithName:@"liMing" andAge:17 andScore:79];
  7.    
  8.     NSArray *array = [NSArray arrayWithObjects:stu1,stu2,stu3, stu4,stu5, nil];
  9.     NSLog(@"未排序前--------------------------------------\n");
  10.     [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
  11.         NSLog(@"%@",obj);
  12.     }];
  13.    
  14.     // 1.先按照成绩进行排序
  15.     // 这里的key写的是get的名称
  16.     NSSortDescriptor *scoreDesc = [NSSortDescriptor sortDescriptorWithKey:@"score" ascending:YES];
  17.     // 2.再按照年龄进行排序
  18.     NSSortDescriptor *ageDesc = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
  19.     // 3.再按照姓名进行排序
  20.     NSSortDescriptor *nameDesc = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
  21.     // 按顺序添加排序描述器
  22.     NSArray *descs = [NSArray arrayWithObjects:scoreDesc, ageDesc, nameDesc, nil];
  23.    
  24.     NSArray *array2 = [array sortedArrayUsingDescriptors:descs];// 按升序排列
  25.     NSLog(@"排序后--------------------------------------");
  26.     [array2 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
  27.         NSLog(@"%@",obj);
  28.     }];
  29.    
  30.    
  31. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马