Я надеюсь, что это сработает.
ользуюURLSession
получить данные из API ресурса для данных таблицы. Так что мне нужноreloadData()
после данных, подготовленных задачей URLSession. Но это приведет к
UITableView.reloadData () должен использоваться только из основного потока
И когда я запускаю приложение, при начале просмотра таблицы ничего не отображается. Только после того, как я прокручиваю экран, данные будут показываться. Но если не позвонитьreloadData()
в задаче URLSession весь экран пуст.
func getData() {
let dataUrl = URL(string: "http://www.example.com/app/?json=1")
let task = URLSession.shared.dataTask(with: dataUrl! as URL) {data, response, error in
guard let data = data, error == nil else { return }
do {
self.data = try JSONSerialization.jsonObject(with: data, options: []) as! [String:Any]
self.tableView.reloadData()
}
} catch let error {
print(error)
}
}
task.resume()
}