首页 > 代码库 > 【学习ios之路:Objective-C】数组,字符串,字典的总和练习
【学习ios之路:Objective-C】数组,字符串,字典的总和练习
①.实现方法:13个人,3个人一组,用一个大数组来管理每一个分组.
//1.原数组 NSArray *array = @[@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13]; //2.原数组个数 NSInteger count = [array count]; //3.新建一个可变的数组1. NSMutableArray *newArray = [[NSMutableArray alloc] init]; //4.循环 for (NSInteger i = 0;i < count; i++) { //判断每3个,初始化一个可变数组2 if (0 == i % 3) { NSMutableArray *newArray1 = [[NSMutableArray alloc] initWithCapacity:1]; //将可变数组2添加到可变数组1中. [newArray addObject:newArray1]; [newArray1 release]; } //获取可变数组1中的最后一个元素,即可变数组2. //给可变数组2添加元素 [[newArray lastObject] addObject:array[i]]; } //输出 NSLog(@"%@",newArray); [newArray release];
②. 处理?工程?文件crayons.txt中的?文本信息,?文本内容是关于颜?色的,每?行都是?一 个颜?色的信息,例如:Almond #EED9C4,前?一个字符串是颜?色的名称,后?一 个字符串是颜?色的16进制?色值,处理?文本完成如下需求:
1、使?用字典管理所有的颜?色,即字典中存储的是多个键值对,颜?色名称为 key,16进制颜?色值(不带#)是value。
2、取出所有的key,升序排列。
3、取出所有的value,按照排序后的key排列。
4、使?用?一个新的字典管理颜?色,对颜?色进?行分类管理,即:“A”,“B”,“C”... 即这个字典包含多个键值对,key是26个字?母,value是数组,数组?里存放的是 Color对象(包含name和colorValue)。需要?自?己创建Color类。
实现如下:
1.crayons.txt中代码如下
Almond #EED9C4 Antique Brass #C88A65 Apricot #FDD5B1 Aquamarine #71D9E2 Asparagus #7BA05B Atomic Tangerine #FF9966 Banana Mania #FBE7B2 Beaver #926F5B Bittersweet #FE6F5E Black #000000 Blizzard Blue #A3E3ED Blue #0066FF Blue Bell #9999CC Blue Green #0095B6 Blue Violet #6456B7 Brick Red #C62D42 Brink Pink #FB607F Brown #AF593E Burnt Orange #FF7034 Burnt Sienna #E97451 Cadet Blue #A9B2C3 Canary #FFFF99 Caribbean Green #00CC99 Carnation Pink #FFA6C9 Cerise #DA3287 Cerulean #02A4D3 Chartreuse #FF9966 Chestnut #B94E48 Copper #DA8A67 Cornflower #93CCEA Cotton Candy #FFB7D5 Cranberry #DB5079 Dandelion #FED85D Denim #1560BD Desert Sand #EDC9AF Eggplant #614051 Electric Lime #CCFF00 Fern #63具体代码如下:
//获取文件路径 NSString *filePath = @"/Users/Object-c日常作业/crayons.txt";//文件地址 //读取文件中的字符串 NSString *oldString = [NSString stringWithContentsOfFile: filePath encoding:NSUTF8StringEncoding error:nil]; //先对文件进行操作去除每一行的内容. NSArray *array = [oldString componentsSeparatedByString:@"\n"]; // 1、使?用字典管理所有的颜?色,即字典中存储的是多个键值对, 颜?色名称为 key,16进制颜?色值(不带#)是value。 //初始化一个字典 NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; //遍历数组中的每一行 for (NSString *newString in array) { //对每一行进行分割,返回数组 NSArray *arr = [newString componentsSeparatedByString:@" #"]; //将数组中的值取出来,添加到数据字典. [dictionary setObject:arr[1] forKey: arr[0]]; } //2、取出所有的key,升序排列。 NSArray *allKey = [dictionary allKeys]; NSArray *newKey = [allKey sortedArrayUsingComparator:^(id obj1 ,id obj2) { return [(NSString *)obj1 compare :(NSString *)obj2]; }]; NSLog(@"--------%@",newKey); //3.取出所有的value,按照排序后的key排列。 //取出所有的value值 NSMutableArray *allValue = http://www.mamicode.com/[[NSMutableArray alloc] init];>color对象属性如下:@property (nonatomic, retain) NSString *colorName; @property (nonatomic, retain) NSString *colorCode;【学习ios之路:Objective-C】数组,字符串,字典的总和练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。