开发者社区 问答 正文

NSMutableDictionary的两个set方法有何不同

NSMutableDictionary有 setObejct:forKey: 和 setValue:forKey
平时在用的时候没有太在意二者区别,都是乱用的
这样会不会造成什么影响?两个有什么区别呢?

展开
收起
a123456678 2016-07-19 17:17:03 1924 分享 版权
3 条回答
写回答
取消 提交回答
  • setObjectForKey 如果object为空会crash,setValueForKey,如果Value为空则不会crash,但是如果有值,会把这个值删掉
    2019-07-17 19:58:37
    赞同 展开评论
  • setObject:forKey 这货的key只要不是nil就行,存储在dict里的只是对象的引用。

    setValue:forKey这货的key必须是string,看样子dict会复制整个value保存起来。

    2019-07-17 19:58:37
    赞同 展开评论
  • 区别不大,一般用setValue:forKey:比较多,因为key一般都是NSString
    2019-07-17 19:58:36
    赞同 展开评论
问答地址: