解决方法
一切都是价值类型,除了:
>一个类的实例
>一个功能
>一个数组(以奇怪的方式工作;它通过引用传递,但如果它是可变的并且项目数已更改,则可以从其他化身中解除绑定)
测试的简单代码方法只是分配给两个不同的var名称,更改一个,并查看它们是否仍然相等.例如:
var tuple1 = (1,2) var tuple2 = tuple1 tuple1.1 = 3 println(tuple1) println(tuple2)
它们是不同的,证明元组是通过值传递的.但:
var arr1 = [1,2] var arr2 = arr1 arr1[1] = 3 println(arr1) println(arr2)
它们是相同的,证明数组是通过引用传递的.
编辑:
但是在Swift的beta 3中,这个不寻常的Array行为被撤销了,只有类实例和函数通过引用传递.现在,其他所有东西都按价值传递.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。