我的应用概述
- 在我使用导航控制器时,它位于相应的XIB MainWindow.xib 中。它在应用程序委托中设置为根 vc。
-CategoriesVC 是一个表 vc,它是根 vc 中的顶层 VC。
-BooksCategoryVC(一个类别中的所有书籍)是另一个表 vc,它是在从 CategoriesVC 中选择某些内容后推送的
-BookScrollVC.m 是一个滚动vc,在选择一本书后显示文本。
代码说明
1)在我的应用程序委托中,我已将 shouldSaveApplicationState 和 shouldRestoreApplicationState 设置为返回 YES
2) CategoriesVC 位于 MainWindow XIB 中,我在 IB 和 .m 中设置了恢复标识符,我已经将 restoreClass 设置为 self 并实现了 viewControllerWithRestoreIdentifierPath
3)BooksCategory 有自己的 XIB 并实现了恢复协议,几乎与
4) 与 3) 相同,但 VC 是在代码中实例化的。这里没有XIB。
流动
启动应用程序。一直导航到最后一个 VC (BookScrollVC)。
在模拟器中按下 Home 按钮时:
encodeRestorableStateWithCoder
在 CategoriesVC 中被调用,并且不会继续到其他 VC。它不应该通过所有已经实现恢复协议的VC吗?
从 Xcode 重新启动应用程序时,实际上只viewControllerWithRestorationIdentifierPath
调用了 CategoriesVC 中的 。
如果有任何不清楚或您希望查看代码,请告诉我