我有下面的代碼簡單段:在迅速奇怪的行爲分配功能給一個變量
func swapper(var arr: [Int]) {
let first: Int = arr[0]
let last: Int = arr[arr.count - 1]
arr[0] = last
arr[arr.count - 1] = first
arr
}
var myFunctionPointer : ([Int]) ->() = swapper
它運作良好,但是當我嘗試INOUT添加到方法的參數的簽名我是無法像以下那樣將其分配給外部變量。
func swapper(inout arr: [Int]){
let first: Int = arr[0]
let last: Int = arr[arr.count - 1]
arr[0] = last
arr[arr.count - 1] = first
arr
}
var myFunctionPointer: ([Int]) ->() = swapper // This failed [int] is not subtype of inout [Int]
var myFunctionPointer: (inout[Int]) ->() = swapper // I am not getting a compilation error, but the playground keeps showing an error message and everything stopped working
我正在使用Xcode 6.1 Playground。
第二種方式是正確的方式,但Xcode有一個錯誤? 有什麼想法?
好像對我的錯誤。 – 2014-10-29 14:07:47