可变字典(NSDictionary)与不可变字典(NSMutableDictionary)
2016-08-11 18:14
387 查看
字典 :key与value组合成的键值对的集合
特点: 无序的 ,存的都是对象类型
NSDictionary的创建
通过key访问字典对应值(通过key访问value,对于返回的类型不能确定,所以用id)
字典键值对的个数
访问字典中所有的key value(返回的是数组)
NSMutableDictionary的创建
通过key删除指定的value
删除所有的键值对
增加键值对
通过关键字改值
特点: 无序的 ,存的都是对象类型
NSDictionary的创建
1.NSDictionary *dic=[NSDictionary dictionary] 2.NSDictionary *dic=[NSDictionary dictionaryWithObject:@"展昭" forKey:@"包拯"]; 3.NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"展昭",@"包拯", nil];//value 在前 key在后 4.NSDictionary *dic3=[NSDictionary dictionaryWithDictionary:dic]; 6.NSDictionary *dic4=@{@"name":@"展昭",@"hobby":@"打架"};//key在前 value在后
通过key访问字典对应值(通过key访问value,对于返回的类型不能确定,所以用id)
id name= [dic4 objectForKey:@"name"]; NSLog(@"%@",name);
字典键值对的个数
NSUInteger count=dic4.count;
访问字典中所有的key value(返回的是数组)
NSArray *array=[dic4 allKeys]; NSArray *array2=dic4.allValues;
NSMutableDictionary的创建
1.NSMutableDictionary *mdic=[NSMutableDictionary dictionary]; 2.NSMutableDictionary *mdic2=[NSMutableDictionary dictionaryWithObject:@"xiaoming" forKey:@"name"]; 3. NSMutableDictionary *mdic3=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Joy",@"name",@"lol",@"hobby", nil];//value在前 key在后 4. NSMutableDictionary *mdic4=[NSMutableDictionary dictionaryWithDictionary:mdic3]; 5. NSMutableDictionary *mdic5=[NSMutableDictionary dictionaryWithCapacity:100]; 6. NSMutableDictionary *mdic6=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address", nil];
通过key删除指定的value
[mdic6 removeObjectForKey:@"name"];
删除所有的键值对
[mdic6 removeAllObjects];
增加键值对
[mdic6 setValue:@"Joy" forKey:@"name"]; 注意: 1.增加一个相同的key时,会覆盖掉之前的值 [mdic6 setValue:@"Rick" forKey:@"name"]; 2.在创建字典时,关键字如果重复了,会覆盖掉之前的值
通过关键字改值
mdic6[@"name"]=@"yy";
相关文章推荐
- [唐诗]181玉阶怨-李白
- 使用 py.test 对 python 代码进行测试
- 静态库与动态库链接、执行时的搜索路径顺序
- 【Vijos-P1172】反质数-DFS
- css3笔记
- Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' ha
- Linux添加/删除用户和用户组
- Garbage Collectors
- c# 对excel数据进行打印
- POJ 1611 记录节点数的并查集
- Unreal 蓝图显示鼠标
- 反射机制
- Servlet开发(一)
- 【百度校招2016】蘑菇阵
- nginx解析php页面
- 看懂此文,不再困惑于 JS 中的事件设计
- 七、Ubuntu 关机或者重启
- C语言学习11
- iOS SDwebimage清除缓存
- 【HDU】-1087-Super Jumping! Jumping! Jumping!(DP)