У меня есть панель вкладок с двумя представлениями:
- tablview
- просмотр контроллера для добавления данных
Тогда у меня есть массив, который будет обновляться из контроллера представления новым содержимым (например, просто добавлять новые строки).
Этот массив заполняет табличное представление.
Теперь, когда приложение запускает табличное представление, показывает все содержимое массивов, но когда я перемещаюсь через панель вкладок в контроллер представления, добавляю содержимое в массив и возвращаюсь через панель вкладок к табличному представлению, я не могу обновить табличное представление так что он вытягивает новое содержимое из массива.
Я пытался использовать tableview.reloadData()
в viewDidAppear
и viewDidLoad
, но табличное представление не перезагружается и по-прежнему показывает данные, которые оно первоначально загрузило при запуске приложения, но не новое содержимое.
override func viewWillAppear(_ animated: Bool) {
tableView.reloadData()
weightArray = UserDefaults.standard.array(forKey: "favorites") as! [String]
}
Вот как я заполняю таблицу:
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return weightArray.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "FavoriteCell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath)
let weights = weightArray[indexPath.row]
cell.textLabel?.text = weights
return cell
}