Почему мое приложение не возвращается к подробному виду после восстановления?

Мое приложение имеет простую организацию, которую янастроен в раскадровке Interface Builder (не в коде). Есть Контроллер Представления Навигации, у которого его Контроллер Root View установлен в мой Главный Контроллер Представления. Мое главное представление содержит таблицу, в которой ячейки переходят в контроллер подробного представления.

Когда я приостанавливаю приложение, просматривая подробный вид, а затем возобновляю его, яm возвращается в основной вид, а не в подробный вид. Почему это может быть?

Подробности:

Я установил идентификаторы восстановления в Интерфейсном Разработчике для Контроллера Представления Навигации, Контроллера Главного Представления и Контроллера Детального Представления. Я'Мы также попытались добавить идентификатор восстановления в табличное представление и заставить контроллер основного представления реализовать UIDataSourceModelAssociation.

Мое приложение возвращает YES из shouldRestoreApplicationState, и оба основных вида и подробный вид имеют методы encode / decodeRestorableStateWithCoder.I '

m тестирование приостановки / возобновления с помощью симулятора: я запускаю приложение, перехожу к подробному представлению, нажимаю кнопку «домой» и затем нажимаю кнопку остановки в XCode. Чтобы возобновить, я 'Я снова запускаю приложение из XCode.

Я вижу следующие звонки в режиме ожидания:

AppDelegate shouldSaveApplicationState
MainViewController encodeRestorableStateWithCoder
DetailViewController encodeRestorableStateWithCoder

И в резюме:

AppDelegate shouldRestoreApplicationState
AppDelegate viewControllerWithRestorationIdentifierPath Navigation
AppDelegate viewControllerWithRestorationIdentifierPath Navigation/MainView
MainViewController viewDidLoad
AppDelegate viewControllerWithRestorationIdentifierPath Navigation/DetailView
MainViewController decodeRestorableStateWithCoder

В дополнение к восстановлению неправильного представления,Что-то еще странное: почему путь идентификатора восстановления для подробного вида "Навигация / DetailView» и не "Навигация / MainView / DetailView»? Нет прямой связи между контроллером навигационного представления и контроллером подробного просмотра. Их единственное соединение в Интерфейсном Разработчике через переход от Главного Представления.

Я что-то неправильно настроил?

Я попытался назначить класс восстановления в подробном представлении. Когда этот код восстановления вызывается, он терпит неудачу, потому что UIStateRestorationViewControllerStoryboardKey не установлен в кодере.

Вот'Это игрушечная версия моего проекта, которая повторяет проблему:https://github.com/WanderingStar/RestorationTestI»

пробую это с версией XCode 5.0 (5A1413) и симулятором iOS версии 7.0 (463.9.4), на случай, если они актуальны.

Ответы на вопрос(2)

Ваш ответ на вопрос