У меня есть два контроллера:Swift + Раскадранты: Как сохранить сильную ссылку на демонстрационный контроллер segue?
- HistoryViewController, который имеет кнопку "Обзор". Это встроено внутри NavigationController
- WebBrowserViewController, которые будут доступны через кнопку обзора от HistoryViewController
Кнопка просмотра является зацепили штрафа. Когда я нажимаю на него, он выводит меня в раскадровку просмотра веб-браузера.
Однако, он всегда делает новый вид веб-браузера, когда я нажимаю назад и нажмите на кнопку «Обзор» снова. Поэтому, если я нахожусь на определенной странице в представлении веб-браузера, и я возвращаюсь к просмотру истории, а затем снова нажмите «Обзор», я всегда возвращаюсь на домашнюю страницу и теряю текущую страницу.
Есть ли способ сохранить сильную ссылку на WebBrowserViewController, так что только начальное нажатие кнопки «Обзор» создаст веб-браузер, и все последующие краны просто покажут это?
Я использую раскадровки.
Есть ли более простой способ без явного хранения состояния? я бы предпочел просто представить тот же контроллер вида или что-то. – Edmund
Ну, вы можете использовать контроллер панели вкладок вместо Show segue ... Контроллер панели вкладок держит несколько контроллеров представлений под рукой в качестве братьев и сестер. Или вы даже можете создать свою собственную архитектуру контроллера. Но если вы собираетесь использовать Show segue, вы не должны представлять «тот же контроллер представления»; позволяя контроллеру просмотра умереть, когда вы его покидаете, и создавая новый экземпляр при повторном показе, является целым _point_ этого аспекта архитектуры контроллера представления. – matt
Хранение состояния * это * более простой способ. –