在快速游乐场中使用Type T.

时间:2014-07-18 23:33:32

标签: swift swift-playground

我正在尝试跟随WWDC页面上的游乐场视频,但出于某种原因,我现在收到此错误。我切换到Xcode 6的beta 3,我注意到他们改变了一些东西,比如数组语法,但为什么不能通过Type T工作呢? enter image description here

我假设从第一个测试版到第三个版本发生了一些变化,我不知道。

1 个答案:

答案 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)