首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unshare()和copy()之间有什么区别?

unshare()和copy()之间有什么区别?
EN

Stack Overflow用户
提问于 2014-06-04 18:10:41
回答 5查看 1.1K关注 0票数 7

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-06-04 21:12:44

不分

正如在苹果文档 unshare上所说的,确保数组的副本是唯一的,所以当调用unshare时,得到数组的非共享副本,如果这是对数组的唯一引用,则可能是相同的数组。

复制

另一方面,copy强制数组的副本并返回--一个包含复制的项的新数组。

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

票数 4
EN

Stack Overflow用户

发布于 2014-06-04 18:12:20

如果被调用者已经没有共享,unshare()将什么也不做。copy()无论如何都会复制它。

票数 4
EN

Stack Overflow用户

发布于 2014-07-21 18:33:41

随着Beta 3. unshare()和copy()都从Array中移除,这种情况也发生了变化。数组现在是在写上复制,默认行为非常类似于始终调用unshare()。

http://blog.human-friendly.com/swift-arrays-beta-3-hooray

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24044610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档