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 }