开发者联盟

iOS setValue和setObject的区别

2019-05-29  本文已影响6人  72行代码

setObject:ForKey: 是NSMutableDictionary特有的;setValue:ForKey:是KVC的主要方法

  1. setObject: forkey:中object是不能够为nil
  2. setValue: forKey:中value能够为nil,但是当value为nil的时候,会自动调用removeObject: forKey:方法
  3. setValue: forKey:中key的参数只能够是NSString类型
  4. setObject: forKey:的key可以是任何类型

注意:setObject: forKey:对象不能存放nil要与下面的这种情况区分:
[imageDictionary setObject:[NSNullnull] forKey:indexNumber];
[NSNull null]表示的是一个空对象,并不是nil
setValue: forKey:方法调用者是对象的时候, setValue: forKey:方法是在NSObject对象中创建的,也就是说所有的oc对象都有这个方法,所以可以用于任何类

附:我的博客地址

上一篇 下一篇

猜你喜欢

热点阅读