扫码关注官方订阅号
NSMutableDictionary有 setObejct:forKey: 和 setValue:forKey 平时在用的时候没有太在意二者区别,都是乱用的 这样会不会造成什么影响?两个有什么区别呢?
认证高级PHP讲师
setObject:forKey 这货的key只要不是nil就行,存储在dict里的只是对象的引用。
setValue:forKey这货的key必须是string,看样子dict会复制整个value保存起来。
根据官方文档的描述
setValue:forKey 会调用 setObejct:forKey: ,但有一个例外就是当 setObejct:forKey: 的value为nil的时候,会去调用 removeObjectForKey: ,也就是说会删除该key对应的value
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
setObject:forKey 这货的key只要不是nil就行,存储在dict里的只是对象的引用。
setValue:forKey这货的key必须是string,看样子dict会复制整个value保存起来。
根据官方文档的描述
setValue:forKey 会调用 setObejct:forKey: ,但有一个例外就是当 setObejct:forKey: 的value为nil的时候,会去调用 removeObjectForKey: ,也就是说会删除该key对应的value