OC使用copy和mutableCopy的区别

浅拷贝: 本质就是指针拷贝 -> 不会开辟新的内存空间
浅拷贝就是拷贝指向原来对象的指针,使原对象的引用计数+1,可以理解为创建了一个指向原对象的新指针而已,并没有创建一个全新的对象。
深拷贝: 本质是对象拷贝(内容拷贝) -> 会开辟一个新的内存空间
深拷贝就是拷贝出和原来仅仅是值一样,但是内存地址完全不一样的新的对象,创建后和原对象没有任何关系。
本质区别在于: 1??是否开启新的内存地址
2??是否影响内存地址的引用计数
浅拷贝和深拷贝区分准则: 【OC使用copy和mutableCopy的区别】1??可变对象的copy和mutableCopy方法都是深拷贝
2??不可变对象的copy方法是浅拷贝,mutableCopy方法是深拷贝
3??copy方法返回的对象都是不可变对象

OC使用copy和mutableCopy的区别
文章图片
image.png

    推荐阅读