Вариант 1: Вы можете использовать bool
, чтобы вызвать население вашего UITableView
.Допустим, мы называем это shouldPopulate
, и мы определяем его в верхней части вашего контроллера.
var shouldPopulate: Bool = false
Используйте shouldPopulate
, чтобы вызвать правильное количество строк или 0
.
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return shouldPopulate ? yourNumberOfRows : 0
}
Затем, когда вы нажмете на кнопку, вы определяете от shouldPopulate
до true
и перезагружаете данные.
@IBAction func buttonTapped(_ sender: Any) {
self.shouldPopulate = true
self.tableView.reloadData()
}
Вариант 2: Вы можете использовать UIViewController
с UITableView
внутри, если вы хотите получить конкретное поведение, было бы лучше, чем UITableViewController
.
Вместо того, чтобы, например, установить TableView Data Source
в viewDidLoad
, определите его внутриваша функция действия.
@IBAction func buttonTapped(_ sender: Any) {
self.tableView.dataSource = self
}
Настройка источника данных должна перезагрузить данные, вам не нужно звонить reloadData()