NSMutableDictionary setObject 和setValue的区别

4 篇文章 0 订阅
4 篇文章 0 订阅

NSMutableDictionary setObject 和setValue的区别

先上苹果官方APi定义

setValue是放在NSKeyValueCoding文件里,做了NSMutableDictionary针对KVC的一个分类扩展,这样专类专用的理解是对NSMutableDictionary特别针对KVC的适用延展,限定死key的类型必须为字符串类型,setValue实际也是调用字典的SetObject的方法,并当setObject为nil的时候会调用RemoveObject的方法,让这个nil的object从字典中移除。

setObject是放在NSDictionAry文件里,作为可变字典的一个API方法,调用对字典进行赋值,这里对setObject forKey中object和key都没有限定特定的类型,而是一个泛型。

Tip:实际使用中如无特定需求建议是使用setValue:forKey,setValue会针对value为nil的处理,setObject并不会对object为nil的处理,当setObejct为nil的时候会造成崩溃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值