Восстановление состояния на подробном представлении контроллера разделенного вида
У меня есть контроллер разделенного вида, определенный на раскадровке, как на прикрепленном изображении:
Все контроллеры представления (и табличное представление) имеют набор идентификаторов восстановления, а делегат приложения настроен для декодирования и кодирования восстанавливаемого состояния. Когда я выбираю "Элемент 2", чтобы он отображал контроллер представления "Элемент 2" в качестве контроллера подробного представления, затем выполняю фоновое приложение и пытаюсь восстановить его, я вижу, что система пытается декодировать контроллер представления "Элемент 2", но затем устанавливает детализацию. вид контроллера, чтобы быть контроллером элемента 1. Есть идеи почему?
В настоящее время я регистрирую, когда различные контроллеры представления загружают, появляются и декодируют их ранее закодированное состояние. Вот вывод, когда я открываю приложение и его состояние ранее было сохранено:
1. Master navigation view controller did load
2. Item 1 navigation view controller did load
3. Split view controller did load
4. Item 2 navigation view controller did load
5. Master view controller did load
6. Item 2 view controller did load
7. Split view controller decoded restorable state
8. Master navigation view controller decoded restorable state
9. Item 2 navigation view controller decoded restorable state
10. Master view controller decoded restorable state
11. Item 2 view controller decoded restorable state
12. Master view controller will appear
13. Master navigation view controller will appear
14. Item 1 navigation view controller will appear
15. Split view controller will appear
16. Item 1 view controller did load
17. Item 1 view controller will appear
18. Master view controller did appear
19. Master navigation view controller did appear
20. Item 1 view controller did appear
21. Item 1 navigation view controller did appear
22. Split view controller did appear
В строках 4 и 6 вы можете видеть, что он загружает контроллер Item 2, который был предыдущим подробным контроллером. И в строках 9 и 11 он декодирует их состояние из ранее сохраненного состояния. Но по какой-то причине контроллер разделенного представления не помещает их в область контроллера детализации.