您的位置:首页 > 职场人生

(十)黑马程序员——Foundation框架之数组与字典

2015-10-25 00:41 381 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流!-------

例10、NSArray、NSDctionary、NSMutableArray、NSMutableDctionary的基本使用

一、NSArray的基本使用

1、NSArray的创建方式

//(1)类方法创建

NSArray *array1 = [NSArrayarrayWithObjects:@"I",@"LOVE",@"YOU",nil];

NSLog(@"array1 = %@",array1);

//(2)对象方法创建

NSArray *array2 = [[NSArrayalloc]initWithObjects:@"I",@"get",@"100",@"dollors",nil];

NSLog(@"array2 = %@",array2);

//(3)使用已存在数组创建新的数组

NSArray *array3 = [[NSArrayalloc]initWithArray:array1];

NSLog(@"array3 = %@",array3);

2、NSArray的常见方法

//(1)获取元素个数

NSLog(@"array1的元素个数 = %ld",array1.count);

//(2)判断是否包含某元素

NSLog(@"%d",[array2containsObject:@"100"]);

//(3)返回最后一个元素

NSLog(@"array1的最后一个元素:%@",array1.lastObject);

//(4)返回第一个元素

NSLog(@"array2的第一个元素:%@",array2.firstObject);

//(5)查找元素在数组中位置

NSLog(@"元素LOVE在array3中的位置为:%ld",
[array3 indexOfObject:@"LOVE"]);

3、NSArray的遍历方法

//(1)下标遍历

for (int i =0; i<array1.count; i++)

{

NSLog(@"array1[%d] = %@",i,array1[i]);

}

//(2)快速遍历

for (NSString *strin array2)

{

NSLog(@"%@",str);

}

//(3)使用block遍历

[array3 enumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop)

{

NSLog(@"arry3[%ld] = %@",idx,obj);

}];

5、NSArray与字符串

//(1)把数组元素链接成字符串

NSString *str1 = [array1componentsJoinedByString:@"*"];

NSLog(@"str1 = %@",str1);

//(2)字符串分割方法

NSArray *arr = [str1componentsSeparatedByString:@"*"];

NSLog(@"arr = %@",arr);

二、NSMutableArray的基本使用方法

//(1)创建空数组

NSMutableArray *array4 = [NSMutableArrayarray];

NSMutableArray *array5 = [NSMutableArrayarray];

//(2)添加一个元素

[array4 addObject:@"i love you"];

[array5 addObject:@"you are the best"];

[array5 addObject:@"wonderful"];

NSLog(@"array4 = %@",array4);

//(3)添加otherArray的全部元素到当前数组中

[array4 addObjectsFromArray:array5];

NSLog(@"array4 = %@",array4);

//(4)在index位置插入一个元素

[array4 insertObject:@"baby"atIndex:1];

NSLog(@"array4 = %@",array4);

//(5)删除最后一个元素

[array4 removeLastObject];

NSLog(@"array4 = %@",array4);

//(6)删除所有元素

[array4 removeAllObjects];

NSLog(@"array4 = %@",array4);

//(7)删除index位置的元素

[array5 removeObjectAtIndex:0];

NSLog(@"array5 = %@",array5);

三、NSDictionary的基本使用

//(1)NSDictionary的创建

NSDictionary *dic1 = [NSDictionarydictionaryWithObjectsAndKeys:@"zhangsan",@"zs",@"niubai",@"nb",nil];

NSDictionary *dic2 =@{@"xg":@"xiagao",@"sb":@"sabai"};

NSLog(@"%@",dic1);

NSLog(@"%@",dic2);

//(2)NSDictionary的基本使用方法

//1.返回键值对的数目

NSLog(@"dic1的键值对的数目:%ld",dic1.count);

//2.根据key取出value

NSLog(@"%@", [dic1objectForKey:@"zs"]);

//(3)NSDictionary遍历方法

//1.快速遍历

for (NSString *strin dic1)

{

NSLog(@"%@", str);

}

//2.使用block遍历

[dic1 enumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop)

{

NSLog(@"key = %@,value = %@", key,obj);

}];

四、NSMutbleDictionary常用方法

//(1)快速创建可变字典

NSMutableDictionary *dict2 = [NSMutableDictionarydictionary];

dict2.dictionary =@{@"name":@"bob",@"age":@"18"};

NSLog(@"dict2 = %@",dict2);

//(2)添加一个键值对

[dict2 setValue:@"man"forKey:@"sex"];

NSLog(@"添加键值对后的dict2 = %@",dict2);

//(3)通过aKey删除对应的value

[dict2 removeObjectForKey:@"name"];

NSLog(@"dict2 = %@",dict2);

//(4)删除所有键值对

[dict2 removeAllObjects];

NSLog(@"dict2 = %@",dict2);

五、NSArray与NSDctionary的对比

1、NSArray是有序的,NSDctionary是无序的

2、NSArray是通过下标访问元素,NSDctionary是通过key访问元素

六、学习心得
1、在这篇博文里,我又将Foundation框架中数组和字典的知识全面复习了一遍,几乎涵盖了主要的数字和字典的基本使用方法,进一步加深了自己在这方面的记忆。

2、转眼间,这已经是我的第10篇博文了,非常开心自己能每天在确保复习进度的同时,能坚持早晚各写一篇博文,虽然每篇博文从选择题目、编写程序到博文编写需要花费不少于3个小时,但我觉得这个过程非常值得,写完这10篇博文,其实也是我重新复习完所有的c语言、oc基础和Foundation框架知识,整个人感觉又前进了一大步。
3、还是非常感谢黑马程序员让我养成了写技术博客日记的习惯,我想在以后的ios开发过程中,我还是会继续保持写博文分享自己的学习心得的习惯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: