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

幕布斯7119047
TA贡献1794条经验 获得超8个赞
setObject:forKey这货的key只要不是nil就行,存储在dict里的只是对象的引用。setValue:forKey这货的key必须是string,看样子dict会复制整个value保存起来。

桃花长相依
TA贡献1860条经验 获得超8个赞
根据官方文档的描述setValue:forKey会调用setObejct:forKey:,但有一个例外就是当setObejct:forKey:的value为nil的时候,会去调用removeObjectForKey:,也就是说会删除该key对应的value
添加回答
举报
0/150
提交
取消