swift – 有没有办法确定传入的变量是引用类型还是值类型?

swift – 有没有办法确定传入的变量是引用类型还是值类型?,第1张

概述在 Swift中,有没有办法通过代码确定传入变量引用类型还是值类型? 例如,元组是值类型还是引用类型? 一切都是价值类型,除了: >一个类的实例 >一个功能 >一个数组(以奇怪的方式工作;它通过引用传递,但如果它是可变的并且项目数已更改,则可以从其他化身中解除绑定) 测试的简单代码方法只是分配给两个不同的var名称,更改一个,并查看它们是否仍然相等.例如: var tuple1 = (1,2) 在 Swift中,有没有办法通过代码确定传入的变量是引用类型还是值类型?

例如,元组是值类型还是引用类型?

解决方法 一切都是价值类型,除了:

>一个类的实例
>一个功能
>一个数组(以奇怪的方式工作;它通过引用传递,但如果它是可变的并且项目数已更改,则可以从其他化身中解除绑定)

测试的简单代码方法只是分配给两个不同的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行为被撤销了,只有类实例和函数通过引用传递.现在,其他所有东西都按价值传递.

总结

以上是内存溢出为你收集整理的swift – 有没有办法确定传入的变量是引用类型还是值类型?全部内容,希望文章能够帮你解决swift – 有没有办法确定传入的变量是引用类型还是值类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存