我正在尝试跟随WWDC页面上的游乐场视频,但出于某种原因,我现在收到此错误。我切换到Xcode 6的beta 3,我注意到他们改变了一些东西,比如数组语法,但为什么不能通过Type T工作呢?
我假设从第一个测试版到第三个版本发生了一些变化,我不知道。
答案 0 :(得分:1)
错误信息相当神秘,并不能真正告诉您问题所在。
在这种情况下,data
参数必须是inout
参数,因为您正在修改它并期望更改在函数外部可用。
您应该将功能更改为:
func exchange<T>(inout data: [T], i: Int, j: Int) {
let temp = data[i]
data[i] = data[j]
data[j] = temp
}
在调用它时,在数据参数前添加&
。
exchange(&someData, someInt, anotherInt)