Я пытаюсь сделать асинхронный. с использованием обещаний Promisekit. У меня есть следующий код в подклассе UITableViewController, чтобы перезагрузить tableview с данными, которые извлекаются из async. запрос.Перезагрузка tableview в Promisekit's
my_promise.then { asynly_fetched_data in
self.data = asyncly_fetched_data
self.tableView.reloadData()
}
Однако следующее утверждение (self.tableView.reloadData()) вызывает следующую ошибку сборки.
Missing return in a closure expected to return 'AnyPromise'
Это потому, что мы не можем вызвать reloadData() внутри замыкания. Если это так, то какова наилучшая практика для перезагрузки tableview после завершения асинхронного запроса.
Спасибо! Это сработало. Но как вы выяснили, что (-> Void) исправляет проблему. – user462455
Это известная ошибка. Раньше у меня была аналогичная проблема. – Christian
это не ошибка - как работает многострочное закрытие - компилятор не может вывести тип возврата из вашего кода и сравнить его с требованием от определения метода. если вы оставили только одну строку - она будет компилироваться нормально – sacred