Если ваша подготовка данных занимает некоторое время, и вы не хотите, чтобы в табличном представлении изначально отображались какие-либо данные, вы можете использовать такой подход:
class TableViewController: UITableViewController {
var someDataSource: [Any]!
var dataSourcePrepared = false {
didSet {
tableView.reloadData()
}
}
override func numberOfSections(in tableView: UITableView) -> Int {
guard dataSourcePrepared else { return 0 }
return someDataSource.count
}
func doSomePreparationStuff() {
// ...
// ...
someDataSource = ["Some", "Content"]
dataSourcePrepared = true
}
}
В этом случае я использовал Bool
переменную dataSourcePrepared
, которая изначально равна false
. Как только вы подготовили свой контент, установите для него значение true
, и представление таблицы будет перезагружено.