为了账号安全,请及时绑定邮箱和手机立即绑定

是通过价值快速传递,还是通过参考传递?

是通过价值快速传递,还是通过参考传递?

芜湖不芜 2019-07-03 16:20:26
是通过价值快速传递,还是通过参考传递?我对SWIFT非常陌生,我刚刚看到类通过引用传递,数组/字符串等被复制。引用传递是否与目标C或Java中传递“a”引用的方式相同,还是通过引用传递正确?
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

它是 按值传递当参数不是inout.

它是 参照传递如果参数是inout..但是,由于需要显式地使用&运算符传递到inout参数,因此它可能不符合传统的按引用传递的定义,即直接传递变量。


查看完整回答
反对 回复 2019-07-03
?
慕勒3428872

TA贡献1848条经验 获得超5个赞

SWIFT中的所有内容在默认情况下都由“复制”传递,因此当您传递值类型时,您将得到值的副本,而当您传递引用类型时,您将得到引用的副本,以及所包含的所有内容。(也就是说,引用的副本仍然指向与原始引用相同的实例。)

我在上面的“复制”中使用了恐慌引号,因为SWIFT做了很多优化工作;只要有可能,它就不会复制,直到出现变异或可能发生变异。由于参数在默认情况下是不可变的,这意味着大多数情况下没有复制。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 432 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信