Панель управления контроллерами в iOS. Почему он перезапускает весь код, когда я переключаю вкладки? - PullRequest
0 голосов
/ 18 января 2019

Итак, я создаю приложение с двумя вкладками, созданное с помощью контроллера панели вкладок.

Контроллер панели вкладок связан с файлом swift, в то время как каждая вкладка также связана со своим собственным файлом swift, всего 3 контроллера представления и 3 файла swift (по одному для каждого)

Я назову их tab1 и tab2 и tabcontroller .

Tab1 - это MkMapview, и в дополнение к нему есть две асинхронные операции и операция в сети. Здесь много чего происходит. Tab2 - простое представление таблицы (вертикальная прокрутка списка)

Проблема в том, что каждый раз, когда я переключаюсь на tab2 , а затем снова переключаюсь на tab1 , он снова запускает все в tab1 , что мне не нужно. Я просто хочу, чтобы пользователь мог переключаться между представлениями, возвращаться к каждому и продолжать с того места, на котором они остановились, - как вкладка в веб-браузере.

Мне кажется, что то, что я хочу, проще, чем то, чего я достиг, используя метод табуляции.

1 Ответ

0 голосов
/ 18 января 2019

Встроить всю сетевую логику внутрь

override func viewDidLoad {
   super.viewDidLoad()
   startRequest1()
   startRequest2()
}

как он вызывается один раз, когда vc загружается, а не viewWillAppear / viewDidAppear, который вызывается при переключении вкладок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...