У меня есть customerViewController
, который имеет простую форму. Когда пользователь нажимает «Отправить», запускается переход, и появляется другое представление. Проблема возникает, когда пользователь возвращается к customerViewController
и находит всю старую информацию все еще там. Я мог бы просто сбросить поля формы, но мне бы очень хотелось найти способ сбросить весь VC. Из того, что я узнал до сих пор, способ сбросить vc, который не был выдвинут, состоит в том, чтобы удалить его и затем добавить обратно.
customerViewController
- это начальный контроллер вида в контроллере навигации, который встроен в контроллер панели вкладок. У меня есть tabBarController
класс, который UITabBarControllerDelegate
. Вот где я звоню:
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
if item.tag == 2 { //This is the tab with my navigation controller
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "CustomerVCID")
var viewcontrollers = self.navigationController?.viewControllers
viewcontrollers?.removeFirst()
viewControllers?.insert(vc, at: 0)
self.navigationController?.setViewControllers(viewcontrollers!, animated: true)
}
Проблема с моим кодом в том, что navigationController?.viewControllers
равен нулю в коде выше. Я могу сослаться на viewControllers
, который дает мне список viewControllers панели вкладок, но я не уверен, как добраться оттуда до контроллера навигации.
Полагаю, мой вопрос в том, что если я на правильном пути, как мне ссылаться на контроллеры представления в моем контроллере навигации?