【问题标题】:Swift: When i pass a parameter to a function does the function copies the parameter or uses the reference to that parameterSwift:当我将参数传递给函数时,函数会复制参数还是使用对该参数的引用
【发布时间】:2015-08-04 18:51:21
【问题描述】:

当我将参数传递给 swift 函数时,该函数是复制参数还是使用对该参数的引用。 在值类型(结构、枚举、元组)上,我确信参数被复制到函数中。 问题是关于引用类型(对象),当它们作为参数传递给 swift 函数时会发生什么?

【问题讨论】:

    标签: swift


    【解决方案1】:

    当您将引用类型传递给 swift 函数时,您将传递对该对象的引用,因此您在该方法中对对象所做的任何更改都会影响函数外部的该对象。如果将值类型标记为 inout 参数,则可以实现类似的效果。

    【讨论】:

      【解决方案2】:

      引用类型通过引用传递。

      【讨论】:

      • 那么带有 var reverence 的 in-out 引用有什么区别呢?
      • 如果引用对象作为inout 传递,则可以替换对象本身。如果不作为inout 传递,则只能更改其属性。
      猜你喜欢
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      • 2012-02-25
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      相关资源
      最近更新 更多