Обновление представления таблицы при изменении выбранного индекса контроллера вкладок

#ios #swift

Вопрос:

У меня есть контроллер панели вкладок, который имеет три вкладки:

  • Информационная панель
  • Учетная запись ссылки
  • Профиль

На странице учетной записи ссылки есть форма, которая создает запись в базе данных и переходит обратно на вкладку «Панель мониторинга», нажав следующую кнопку:

введите описание изображения здесь

Однако запись, созданная в базе данных, не отображается в табличном представлении на моей панели мониторинга, потому что «viewDidLoad» не вызывается.

Итак, каков наилучший способ обновить эту таблицу, вызвав следующую функцию при переходе обратно на панель мониторинга?

Функция, которая вызывается в моем viewDidLoad на моей панели мониторинга, называется «fetchAccounts».:

 override func viewDidLoad() {
    super.viewDidLoad()
    fetchAccounts()
}
 

И для справки, вот кнопка «Учетная запись» в качестве действия:

 @IBAction func linkAccount(_ sender: UIButton) {
        self.tabBarController?.selectedIndex = 0
        }
 

Пожалуйста, дайте мне знать, если это не ясно!

Ответ №1:

Но очевидно, что viewDidLoad не сработает, потому что вы используете контроллер панели вкладок, и он уже загружен один раз, поэтому вы можете вызвать метод учетной записи fetch, который появится в представлении, вы можете управлять переменной пользователя по умолчанию, которая проверит, пришла ли она из ссылки на вкладку учетной записи или нет, а затем вы можете вызвать учетную запись fetch, если эта переменная верна.

Комментарии:

1. Да, вы правы — если я установлю, чтобы мои переменные были пустыми в viewDidDisappear, а затем вызову эту функцию в viewWillAppear, она отлично работает. Спасибо за вашу помощь.