Как восстановить путь навигационного контроллера при перезапуске приложения? - PullRequest
0 голосов
/ 01 марта 2010

Я создаю приложение на основе контроллера навигации.

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

Это точно так же, как в почтовом приложении: когда вы нажимаете «домой» во время написания письма, то когда вы возвращаетесь к своей почте, вы сразу получаете письмо, которое вы писали.

Сначала я хотел бы узнать, какое решение лучше (я не думаю, что смогу получить это с помощью NSuserdefaults). Затем я хотел бы знать, применимо ли это решение к моему приложению, учитывая, что в моем контроллере rootview я загружаю данные локально, которые я анализирую, а затем отображаю в нескольких представлениях контроллера навигации.

1 Ответ

0 голосов
/ 01 марта 2010

Я только что решил это ... не уверен, что это самый элегантный способ ...

Тем не менее, я в основном отслеживаю каждый толчок и попадаю в стек, но я храню объекты, а не представления. Каждый раз, когда что-то выталкивается или выталкивается из моего стека, я сохраняю его (не занимает много времени).

Когда приложение запускается, оно ищет файл стека и затем делает несколько нажатий (выталкивает элементы из загруженного стека), но не анимирует каждый из них. Моя иерархия (в самом глубоком) 4 элемента, и для пользователя это выглядит так, как будто она просто открывается на объекте.

Стек загружается из файла в методе viewDidLoad моего корневого контроллера. * +1007 *

...