#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, она отлично работает. Спасибо за вашу помощь.