Как вы обновляете sh табличное представление после закрытия View Controller после вставки значений с использованием SQLite3? - PullRequest
0 голосов
/ 26 марта 2020

У меня есть tableViewController, который содержит список действий. Theres кнопка, которая ведет вас к новому контроллеру представления, который позволяет вам создавать новое действие, который затем вставляется в базу данных при нажатии кнопки сохранения, который также отклоняет контроллер представления, чтобы вернуть вас к списку действий , Я хочу, чтобы действия обновили sh, чтобы новое добавленное действие было добавлено в таблицу. Я попытался

nextViewController = ActivitiesViewController()

dismissVC(){
nextViewController.viewDidLoad() }

В настоящее время он возвращает вас к правильному представлению таблицы, но строки не обновляются. Обновление значений происходит только после перезагрузки телефона. У кого-нибудь есть идеи как это исправить? Спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Возможно, вы захотите переопределить метод viewWillAppear(_ animated: Bool) в вашем ActivityViewController и вызвать функцию для обновления данных (так же, как вы делаете в viewDidLoad).

class ActivitiesViewController: UITableViewController { // UITableViewController or whatever you're using

  // your stuffs
  // ...
  // ...

  override func viewDidLoad() {
     super.viewDidLoad()
     // load datas
     tableView.reloadData()
  }

  override func viewWillAppear(_ animated: Bool) {
     super.viewWillAppear(animated)
     // load datas
     tableView.reloadData()
  }
}

Чтобы немного объяснить, почему вы должны это делать; в своем фрагменте кода вы создаете новый экземпляр ActivityViewController, который не отображается на экране. Даже если вы обновите его, он не будет связан с тем, который отображается.

...