【发布时间】:2017-02-13 03:38:24
【问题描述】:
它只是将我的小型 Swift 项目转换为 Swift 3。
这是一个我不明白的编译器错误:
var onLoadedClosures: [() -> ()] = []
open func onLoaded(closure: () -> ()) {
onLoadedClosures += [closure]
}
无法将“[() -> ()]”类型的值转换为预期的参数类型“inout _”。
我添加了 inout 关键字:
open func onLoaded(closure: inout () -> ()) {
onLoadedClosures += [closure]
}
然后就可以了。但是为什么向数组添加元素需要 inout 关键字呢?虽然我知道 inout 是什么意思。
【问题讨论】: