iOS开发中setValue和setObject的区别
2017-01-20 15:20
369 查看
在使用NSMutableDictionary的时候遇到setValue forKey和setObject forKey混合使用,有时候感觉一样,就容易忽略些问题
--- setObject:forkey:中value是不可以是nil的,否则会报错。
--- setValue:forKey:中value可以是nil,但是当value为nil的时候,会自动调用setValue:forUndefinedKey:方法
--- setValue:forKey:中key的参数只可以是NSString类型(通常情况下我们习惯用NSString作为key而已),而setObject:forKey:的可以是任何类型
(如果要value为nil 但又不会让其奔溃那就要使用setValue,[NSNull null]表示一个灵地乡,并不是nil)
setObject:forKey:方法NSMutabledictionary特有的,而
setValue:forKey:方法是KVC(键-值编码)的主要方法。
--- setObject:forkey:中value是不可以是nil的,否则会报错。
--- setValue:forKey:中value可以是nil,但是当value为nil的时候,会自动调用setValue:forUndefinedKey:方法
--- setValue:forKey:中key的参数只可以是NSString类型(通常情况下我们习惯用NSString作为key而已),而setObject:forKey:的可以是任何类型
(如果要value为nil 但又不会让其奔溃那就要使用setValue,[NSNull null]表示一个灵地乡,并不是nil)
setObject:forKey:方法NSMutabledictionary特有的,而
setValue:forKey:方法是KVC(键-值编码)的主要方法。
相关文章推荐
- iOS开发 setValue和setObject的区别
- IOS [转]setValue和setObject的区别
- iOS中setValue和setObject的区别详解
- iOS开发66-setValue:forKey:和 setObject:forKey:的区别
- iOS字典 setValue 和 setObject的区别
- iOS setObject与setValue的区别详解
- iOS开发 frame 与 bounds 的区别与关系
- iOS开发之self.abc = nil与[_abc release]的区别
- iOS开发frame与bounds区别与关系
- ios 开发中 动态库 与静态库的区别
- IOS开发之delegate和Notification的区别
- IOS 基础开发之 addSubview和insertSubview:atIndex: 区别
- IOS 基础开发之CGFloat和float的区别
- 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别;
- IOS开发(45)之delegate和Notification的区别
- iOS开发 frame 与 bounds 的区别与关系
- iOS开发 frame 与 bounds 的区别与关系
- ios开发之View属性hidden, opaque, alpha的区别
- 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别;
- NSMutableDicitionary 的setValue和setObject的区别