kvc和字典在创建键值对时的相同与区别(setValue forKey )(setObject forKey)
来源:互联网 发布:金10数据网 编辑:程序博客网 时间:2024/05/05 16:05
首先来定义一个字典
NSMutableDictionary *dic =[NSMutableDictionary dictionaryWithObjectsAndKeys:@"1",@"2",@"3",@"4",@"5",@"6", nil];
[setValue: forKey:]和[setObject: forKey:]相同点
1.当key和value对应的都有值
当key和value都有值时,key所对应的值在字典中不存在时,就可以添加 当key已经存在时,都不会创建键值对 在字典中,value可以重复,但key必须只有一个
代码段:NSMutableDictionary *dic =[NSMutableDictionary dictionaryWithObjectsAndKeys:@"1",@"2",@"3",@"4",@"5",@"6", nil]; (1)[dic setValue:@"6"forKey:@"7"]; NSLog(@"%@",dic); (2)[dic setObject:@"6" forKey:@"7"]; NSLog(@"%@",dic); 两种情况结果都是:2015-07-24 20:46:25.860 OC07_类的扩展[1543:105974] { 2 = 1; 4 = 3; 6 = 5; 7 = 6; }
2.当key的值为空时
[setValue: forKey:]和[setObject: forKey:]在创建键值对时都会直接崩溃,也就是说在添加键值对时,key必须有对应的值,不能为空
[setValue: forKey:]和[setObject: forKey:]区别
1.kvc中创建键值对用:[setValue: forKey:]
代码段:NSMutableDictionary *dic =[NSMutableDictionary dictionaryWithObjectsAndKeys:@"1",@"2",@"3",@"4",@"5",@"6", nil]; [dic setValue:nil forKey:@"2"]; NSLog(@"%@",dic); 结果: 2015-07-24 20:37:49.603 OC07_类的扩展[1511:103886] { 4 = 3; 6 = 5; }
在kvc中当 key的值在字典中有相对应的值时,value值为空时,[setValue: forKey:]对应的功能是移除键值对
2.字典中创建键值对用:[setObject: forKey:]
代码段:NSMutableDictionary *dic =[NSMutableDictionary dictionaryWithObjectsAndKeys:@"1",@"2",@"3",@"4",@"5",@"6", nil]; [dic setObject:nil forKey:@"4"]; NSLog(@"%@",dic); 结果为:崩溃
在用[setObject: forKey:]创建键值对时,key的值在字典中有相对应的值时,value值为空时,整个程序直接崩溃
1 0
- kvc和字典在创建键值对时的相同与区别(setValue forKey )(setObject forKey)
- setValue:forKey:与setObject:forKey:的区别
- setValue forKey和setObject forKey的区别
- setValue: forKey 和 setObject: forkey的区别
- SetValue:forKey和SetObject:forKey的区别
- setValue: forKey 和 setObject: forKey 的区别
- 字典方法setValue:ForKey setObject:ForKey的区别
- iOS -setValue:forKey:和-setObject: forKey区别
- setObject:ForKey:与setValue:ForKey:的区别与联系
- iOS开发66-setValue:forKey:和 setObject:forKey:的区别
- setValue:forKey与setObject:forKey的差异
- setValue:forKey与setObject:forKey的差异
- setValue:forKey与setObject:forKey的差异
- setValue: forkey与 setObject区别
- 字典setObject:forKey:与setObject:forKey:的区别
- setValue:forKey:与setObject:forKey:
- setValue forKey 和 setObject forKey
- setObject:ForKey:与setValue:ForKey:存值区别与联系
- Softmax回归
- 从本地或者网络读取图片,并转换为Bitmap图片
- 光流
- 约瑟夫问题循环链表解法、队列解法
- C# ?? 和 ?: 运算符
- kvc和字典在创建键值对时的相同与区别(setValue forKey )(setObject forKey)
- java多线程学习笔记(1)——基本概念介绍
- android之数据存取
- 寻找最大数(二)
- iOS自定义tabbar
- hd1047
- java.util.Random.nextInt(int n)方法实例
- 南阳 oj 16进制的简单运算 题目244 语言入门
- hadoop开发:eclipse运行wordcount实例