Мне нужен совет о том, как правильно реализовать сохранение и восстановление состояния для уже созданного приложения, имеющего множество контроллеров представления и сложную иерархию.
О чем следует помнить, пытаясь сохранить состояние для приложения, которое уже запущено какое-то время?
ИЗМЕНИТЬ:
Я хочу получить разъяснения или, возможно, получить решение проблемы, с которой я столкнулся в плане восстановления состояния. Я успешно восстанавливаю состояние приложения при запуске. Я восстанавливаю контроллер представления и другие контроллеры представления в иерархии. Теперь, когда я нажимаю другой контроллер представления и последовательность других контроллеров представления в nav. стек, на конкретном контроллере представления по какой-то причине приложение вылетает из-за исключения. Поэтому, когда я снова открываю приложение, оно по-прежнему восстанавливает состояние первого контроллера представления, которое было сохранено при нажатии кнопки «Домой».
В частности, я хочу знать, есть ли способ сбросить информацию о состоянии приложения. когда приложение завершает работу из-за неперехваченного исключения? Я знаю, что состояние будет отброшено, если пользователь вручную принудительно убьет приложение, или восстановление состояния завершится неудачно, или приложение завершится при запуске. Есть ли способ поймать завершение и соответствующим образом настроить состояние приложения? Предложения были бы отличными. Спасибо.