unshare()copy() 都用于复制数组,但我看不出区别。

最佳答案

取消分享

正如它在 Apple documentation 上所说,unshare 确保数组的副本是唯一的 ,因此当您调用 unshare 时,您将获得数组的非共享副本,如果这是对数组的唯一引用,则它可能是同一个数组。

复制

另一方面,copy强制复制数组,并向返回一个新数组,其中包含复制的项目

因此,如果您想拥有数组的 2 个独立副本,则应在其他情况下使用 copy,您可以使用 unsare 来确保数组没有其他引用。

10-06 08:07