2
在Swift中進行編程時,有時會看到包含$T0
,$T1
,$T2
等的錯誤消息。看起來他們似乎與閉包有關。
此代碼工作正常:
let test = { (argument: Int) in
println("Argument is \(argument)")
}
test(42)
Xcode的自動完成功能告訴我的test
類型是(Int) ->()
,因此,返回類型似乎推斷。
但是,如果我添加一個return
語句關閉:
let test = { (argument: Int) in
println("Argument is \(argument)")
return
}
test(42)
我得到一個錯誤說:
error: cannot convert the expression's type '(Int) -> (Int) -> $T0' to type '(Int) -> (Int) -> $T0'
是什麼$T0
意思?