oc之NSSortDescriptor(描述器排序)

1.将以上四个字典存入数组中,输出数据以班级:XXX,姓名:XXX,年龄:XX格式。

2.删除小明此条数据,列出剩余数据,输出格式同上。

3.按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上。(描述器)

 1 int main(int argc, const char * argv[]) {
 2     @autoreleasepool {
 3         NSDictionary *dic1=@{@"name":@"小阳",
 4                              @"class":@"IOS8",
 5                              @"age":@"24"
 6                              };
 7         NSDictionary *dic2=@{@"name":@"小明",
 8                              @"class":@"IOS6",
 9                              @"age":@"67"
10                              };
11         NSDictionary *dic3=@{@"name":@"小丽",
12                              @"class":@"IOS8",
13                              @"age":@"12"
14                              };
15         NSDictionary *dic4=@{@"name":@"小杨",
16                              @"class":@"IOS6",
17                              @"age":@"33"
18                              };
19         
20         //1.将以上四个字典存入数组中,输出数据以班级:XXX,姓名:XXX,年龄:XX格式。
21         
22         //2.删除小明此条数据,列出剩余数据,输出格式同上。
23         //3.按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上。(描述器)
24         NSMutableArray *muarr=[NSMutableArray array];
25         [muarr addObject: dic1];
26         [muarr addObject: dic2];
27         [muarr addObject: dic3];
28         [muarr addObject: dic4];
29         
30         for(NSDictionary *dic in muarr){
31             NSLog(@"班级:%@,姓名:%@,年龄:%@,",dic[@"class"],dic[@"name"],dic[@"age"]);
32         }
33         //[muarr removeObject:dic2];
34         for(int i=0;i<muarr.count;i++) {
35             NSDictionary *dic=muarr[i];
36             if([dic[@"name"] isEqual:@"小明"]){  //循环查找  如果找到小明就删除该数据
37                 [muarr removeObject:dic];
38             }
39         }
40         
41         NSLog(@"删除后---------------------");
42         for(NSDictionary *dic in muarr){
43             NSLog(@"班级:%@,姓名:%@,年龄:%@,",dic[@"class"],dic[@"name"],dic[@"age"]);
44         }
45         NSSortDescriptor *sotrs=[[NSSortDescriptor alloc]initWithKey:@"class" ascending:YES];
46         NSSortDescriptor *sorts1=[[NSSortDescriptor alloc]initWithKey:@"age" ascending:YES];
47         [muarr sortUsingDescriptors:[NSArray arrayWithObjects:sotrs,sorts1, nil]];
48         NSLog(@"排序后---------------------");
49         for(NSDictionary *dic in muarr){
50             NSLog(@"班级:%@,姓名:%@,年龄:%@,",dic[@"class"],dic[@"name"],dic[@"age"]);
51         }
52         
53     }
54     return 0;
55 }
原文地址:https://www.cnblogs.com/jiangyicheng/p/5112918.html