Он только что преобразовал мой небольшой проект Swift в Swift 3.
Вот ошибка компилятора, которую я не понимаю:
var onLoadedClosures: [() -> ()] = []
open func onLoaded(closure: () -> ()) {
onLoadedClosures += [closure]
}
Невозможно преобразовать значение типа '[() -> ()]' в ожидаемый тип аргумента 'inout _'.
Я добавил ключевое слово inout:
open func onLoaded(closure: inout () -> ()) {
onLoadedClosures += [closure]
}
Тогда это работает. Но почему для добавления элемента в массив требуется ключевое слово inout? Хотя я знаю, что означает inout.