我已经阅读了问题“深拷贝和浅拷贝有什么区别?”的答案。现在我有一个疑问,当我们通过以下方式制作浅层副本时:
newArray = [NSmutableArray arrayWithArray:oldArray];
新数组将指向旧数组 (如图所示)。现在,当我从新数组中删除对象时会发生什么?从图中可以看出,它应该同时从旧数组中删除相同的元素!!! 看起来像是 newArray = oldArray
是浅拷贝,而 newArray = [NSmutableArray arrayWithArray:oldArray];
是深拷贝。这是正确的吗?
arrayWithArray:
,您可以获得一个新的数组,该数组引用相同的对象。 - user971401