Вызов функции в ViewController после RelationshipSegue - PullRequest
0 голосов
/ 16 января 2020

У меня есть кратное UIViewController, встроенное в UITabbarController. Они связаны с помощью отношений отношений.

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

Есть ли способ вызывать функцию каждый раз, когда VC1 вызывается?

1 Ответ

1 голос
/ 17 января 2020

приложение застревает, так как viewDidLoad не вызывается

Приложение не застревает. Работает отлично. viewDidLoad вызывается, когда контроллер вида создан и загружает его вид. Это случается только один раз в жизни контроллера представления. Когда вы покидаете контроллер представления и возвращаетесь обратно к нему, он все еще там (то есть он не создается с нуля), поэтому, естественно, viewDidLoad не вызывается.

Если ваш Цель состоит в том, чтобы услышать о том факте, что контроллер панели вкладок переключается на VC1, дать контроллеру панели вкладок делегата и реализовать tabBarController (_: didSelect:) или аналогичный.

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

...