爱因斯坦说过,一件事情,如果无法用明确的语言表达清楚,那说明,你还没懂。
1.深拷贝与浅拷贝:
区分:是否产生新的对象;
目的:对拷贝后生成的对象进行操作的话,不会影响到原始的对象。
不可变对象copy -》 浅拷贝
不可变对象mutbleCopy -》 深拷贝
可变对象copy -》 深拷贝
可变对象mutableCopy -》 浅拷贝
2.set方法:
若旧值不等于新值,先release旧值,再retain新值;
目的:不影响被赋值对象自身的内存管理,且考虑了对重复赋值的优化。
爱因斯坦说过,一件事情,如果无法用明确的语言表达清楚,那说明,你还没懂。
1.深拷贝与浅拷贝:
区分:是否产生新的对象;
目的:对拷贝后生成的对象进行操作的话,不会影响到原始的对象。
不可变对象copy -》 浅拷贝
不可变对象mutbleCopy -》 深拷贝
可变对象copy -》 深拷贝
可变对象mutableCopy -》 浅拷贝
2.set方法:
若旧值不等于新值,先release旧值,再retain新值;
目的:不影响被赋值对象自身的内存管理,且考虑了对重复赋值的优化。