作业2
2016-01-08 14:19
260 查看
// // main.m // 作业1 // // Created by syrcfwzx on 16/1/8. // Copyright (c) 2016年 syrcfwzx. All rights reserved. // #import <Foundation/Foundation.h> #define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]) int main(int argc, const char * argv[]) { @autoreleasepool { NSDictionary *dic1=@{@"name":@"小阳", @"class":@"IOS8", @"age":@"24" }; NSDictionary *dic2=@{@"name":@"小明", @"class":@"IOS6", @"age":@"67" }; NSDictionary *dic3=@{@"name":@"小丽", @"class":@"IOS8", @"age":@"12"}; NSDictionary *dic4=@{@"name":@"小杨", @"class":@"IOS8", @"age":@"9"}; //1.将以上四个字典存入数组中,输出数据以班级:XXX,姓名:XXX,年龄:XX格式。 NSMutableArray* array = [NSMutableArray array]; [array addObject:dic1]; [array addObject:dic2]; [array addObject:dic3]; [array addObject:dic4]; for(id obj in array) { NSDictionary* dic = obj; NSLog(@"姓名:%@ 班级:%@ 年龄:%@",dic[@"name"],dic[@"class"],dic[@"age"]); } NSLog(@"🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀"); //2.删除小明此条数据,列出剩余数据,输出格式同上。 for(int i=0;i<array.count;i++) { NSDictionary* ndic = array[i]; if([ndic[@"name"]isEqual:@"小明"]) { [array removeObject:ndic]; } } for(id obj in array) { NSDictionary* dic = obj; NSLog(@"姓名:%@ 班级:%@ 年龄:%@",dic[@"name"],dic[@"class"],dic[@"age"]); } NSLog(@"🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀"); //3.按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上。描述器 NSSortDescriptor* sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"class" ascending:YES]; NSSortDescriptor* sortDescriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES]; NSArray* descs = [NSArray arrayWithObjects:sortDescriptor1,sortDescriptor2, nil]; NSArray* sortArray = [array sortedArrayUsingDescriptors:descs]; for(id obj in sortArray) { NSDictionary* mdic = obj; NSLog(@"姓名:%@ 班级:%@ 年龄:%@",mdic[@"name"],mdic[@"class"],mdic[@"age"]); } NSLog(@"🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀"); //NSSortDescriptor 指定用于对象数组排序的对象属性 //主要用于对象数组排序的对象属性 [array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) { NSComparisonResult result = [obj1[@"class"]compare:obj2[@"class"]]; int a =[obj1[@"age"]intValue]; int b =[obj2[@"age"]intValue]; if(result==NSOrderedSame) { if(a==b) { return NSOrderedSame; } else if (a>b) { return NSOrderedDescending; } else { return NSOrderedAscending; } } else { return result; } }]; for(id obj in array) { NSDictionary* dic = obj; NSLog(@"姓名:%@ 班级:%@ 年龄:%@",dic[@"name"],dic[@"class"],dic[@"age"]); } } return 0; }
相关文章推荐
- CTreeCtrl 控件使用总结
- Java中int与Integer的使用区别
- PHP事务
- android之APN详解
- C++:类与对象5(矩形的面积与周长)
- android按键事件和触屏事件(四)-listview的setOnItemClickListener点击无效的处理
- 没有界面faster-rcnn 跑demo.py
- html冷门知识
- Request与Response常用方法总结
- aa
- eclipse中选中一个单词 其他相同的也被选中 怎么设置
- SCORM技术总结及题库应用
- 图表amchart中文教程(柱状图,饼状图等的中文设置说明)
- MediaPlayer简介
- java包装类和基本类的分析(以Integer来介绍)
- 读书。。。
- 阿里云部署django Ubuntu 12.04.5 + Apache2.2 + django1.8
- 线程池
- spring hibernate structs
- JSONArray的应用