无法分配给常数值Swift

时间:2016-05-12 08:45:09

标签: ios swift

我不知道为什么会收到此错误

  

无法分配值:' x'是一个“让...”恒定

使用此代码:

func swap(x:AnyObject,y:AnyObject){
  let tmp = x
  x=y
  y=tmp
}

我必须

  

思考不同

也许?

1 个答案:

答案 0 :(得分:4)

函数参数是Swift中的常量。在以前的版本中,您可以通过使用var标记它们来使它们变得可变,但这在Swift 3中会消失。

如果要实际交换传递的值,则必须声明它们inout

func swap(inout x: AnyObject, inout y: AnyObject) {
    let tmp = x
    x = y
    y = tmp
}

或只是......

func swap(inout x: AnyObject, inout y: AnyObject) {
    (x, y) = (y, x)
}