《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary
2015-07-22 22:24
555 查看
int main(int argc, const char * argv[]) { @autoreleasepool { //字典, 存储的内存不是连续的 用key和value进行对应(键值) //kvc 键值编码 NSDictionary *dic = [NSDictionary dictionaryWithObject:@"1" forKey:@"a"]; NSLog(@"%@",dic);//以上的方法是不常用的 //注意两个参数是数组 //NSDictionary *dic2 = [NSDictionary dictionaryWithObjects:<#(NSArray *)#> forKeys:<#(NSArray *)#>] //所以还是要先创建两个数组 NSArray *array1 = [[NSArray alloc] initWithObjects:@"a",@"b",@"c",@"d", nil]; NSArray *array2 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4", nil]; NSDictionary *dic2 = [[NSDictionary alloc] initWithObjects:array1 forKeys:array2]; NSLog(@"%@",dic2); // NSDictionary *dic3 = @{@"m":@"9",@"n":@"8"}; NSLog(@"%@",dic3); //输出字典的长度 int count = (int)[dic3 count]; NSLog(@"%d",count); //通过键 获得 值 NSString *str = [dic3 valueForKey:@"m"];//或者[dic3 objectForKey:@"m"] NSLog(@"%@",str); //获取所有键值中的键和值 NSArray *allValue = [dic3 allValues]; NSArray *allKey = [dic3 allKeys]; //通过多个键找值,因为是多个,当然返回的是数组 NSArray *array = [dic2 objectsForKeys:[NSArray arrayWithObjects:@"2",@"3",@"9", nil] notFoundMarker:@"not found"]; NSLog(@"%@",array); //遍历字典,数组通过下标遍历,字典当然通过key来遍历 for (NSString *key in dic2) { NSLog(@"%@ = %@",key,[dic2 objectForKey:key]); } //使用针对字典的枚举器 NSEnumerator *en = [dic2 keyEnumerator]; id key = nil; while (key = [en nextObject]) { NSLog(@"key - %@",key); } //还有一个block方法,用法都是一样的 /* [dic2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { }];*/ } return 0; }
int main(int argc, const char * argv[]) { @autoreleasepool { NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; //添加键值对,直接添加就可以了 [dict setObject:@"1" forKey:@"a"]; [dict setObject:@"2" forKey:@"b"]; [dict setObject:@"3" forKey:@"c"]; NSLog(@"%@",dict); //删除键值对 [dict removeObjectForKey:@"a"]; NSLog(@"%@",dict); //还可以通过传入数组对象,对应删除数组元素对应的所有键 [dict removeObjectsForKeys:[NSArray arrayWithObjects:@"a",@"c", nil]]; NSLog(@"%@",dict); } return 0; }
相关文章推荐
- wxhl ios bj 49 张浩 学习心得连载 第二章
- ios7,ios8中关于xcassets资源使用的问题
- IOS学习之蓝牙4.0
- iOS之沙盒机制和如何获取沙盒路径
- 对iOS开发中内存管理的一点总结与理解
- [教程技巧] iOS开发学习路线图
- iOS本地国际化处理自己封装好的宏
- ios结构体
- iOS开发入门教程 iPhone开发相关学习资料
- iOS函数,函数递归
- 取消IOS自动生成电话链接
- iOS设置navigationbar的半透明,解决卡顿现象
- IOS SDWebImage的使用
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <四> NSMutableArray
- IOS几种实现动画的方式
- iOS持续部署平台(一):SHENZHEN
- iOS OC06_省市区字典数组
- IOS使用Charts
- 【iOS】线程安全的文件读写
- iOS_导入libxml2.2框架后,找不到<libxml/tree.h>的解决办