我不知道为什么会收到此错误
无法分配值:' x'是一个“让...”恒定
使用此代码:
func swap(x:AnyObject,y:AnyObject){
let tmp = x
x=y
y=tmp
}
我必须
思考不同
也许?
答案 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)
}