深拷贝和浅拷贝的问题

根据网上大牛博主所言,除了不可变对象的copy为浅拷贝,其他情况(可变,不可变的mutableCopy,可变的copy)均为深拷贝。

浅拷贝:拷贝对象内存地址而不拷贝本身(两个指针指向同一块内存)。

深拷贝:拷贝对象内存地址和对象本身(两个指针指向不同的内存)。

现看到有另一种说法,所有copy和mutableCopy均为浅拷贝,NSString只说拷贝不说深浅

拿出了一段英文文档,但是链接是打不开的,可能时间久远而我常不注意这些内容。

浅拷贝:拷贝容器本身而不拷贝容器内容。

深拷贝:拷贝容器本身和所有内容。

这里强调的是容器,代表数组,字典,集合,而不包含字符串。

虽然没有找到原文档,但找到了另一个官方文档对于深浅拷贝的解释,可以看到确实有对容器概念的提及。

后续经过测试后,会附上测试截图等确认到底什么叫深浅拷贝。

推荐阅读更多精彩内容