Код внутри defer
выполняется после «возврата» метода или, например, после возврата текущего цикла некоторого цикла
Так как viewDidLoad
возвращает Void
, этот метод возвращается сразу после вызова updateNewsData()
, и он не ждет, тогда другой метод, который был вызван изнутри, возвращает или после выполнения кода внутри некоторого замыкания (defer
isn не выполняется после выполнения некоторого замыкания, поскольку внутри замыкания нельзя вернуть значение для метода, в котором было объявлено закрытие).
Чтобы исправить ваш код, просто перезагрузите данные табличного представления после добавления статей
for article in articleArray {
self.articleList.append(article)
}
tableView.reloadData()