setValue:forKey 与 setObject:forKey

JC_WangIP属地: 广东
字数 176阅读 498

1、setValue:forKey

@interface NSMutableDictionary<KeyType, ObjectType>(NSKeyValueCoding)

/* Send -setObject:forKey: to the receiver, unless the value is nil, in which case send -removeObjectForKey:.
*/
- (void)setValue:(nullable ObjectType)value forKey:(NSString *)key;

中文翻译 :
发送setObject:forKey 给接收者,也就是调用setObject:forKey方法。除非value为nil的时候,调用方法removeObject:forKey

2、setObject:forKey

Snip20161130_2.png

注意
setObject:forKey:中Key的对象是一个id类型,并不是NSString,只不过我们经常使用NSString而已。

3、主要区别

  • setObject:forkey:中value是不能够为nil的,不然会报错。
  • setValue:forKey:中value能够为nil,但是当value为nil的时候,会自动调用removeObject:forKey方法
  • setValue:forKey:中key的参数只能够是NSString类型,而setObject:forKey:的可以是任何类型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
1人点赞
更多精彩内容,就在简书APP
"小礼物走一走,来简书关注我"
还没有人赞赏,支持一下
总资产2共写了7042字获得18个赞共8个粉丝

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,209评论 30 471
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,767评论 0 9
  • 接下来我们看base文件下的Foundation文件夹下文件 Base - Foundation 这个文件夹里面的...
    充满活力的早晨阅读 2,155评论 0 1
  • 关键词/关键类 1.#import跟#include有什么区别,@class呢,#import<>跟#import...
    丶逐渐阅读 1,471评论 0 1
  • 应用场景:登录界面或者填写信息的时候点击空白退出键盘 一般解决方案:1.监听scrollView实时滚动代理方法调...
    船长_阅读 3,672评论 8 19