为什么中间视图控制器会被恢复



我正在为我的应用程序使用状态恢复。我有vc1 -> vc2 -> vc3。

在vc3上,我实现了恢复委托和恢复标识符。但是在vc1和v2上,我只实现了标识符。

当我到达vc3时,它恢复了,这很好。但是当我到达vc2时,它也恢复了。它只有恢复标识符集。中间视图控制器也得到恢复吗?我不想要。

基本上UIKit恢复具有重用标识符设置的视图控制器(包括它们的子视图)。在你的例子中,你已经设置了所有三个视图控制器的标识符。所以你所有的VC都会恢复,即使你只为VC实现了uistaterestation方法。

您可以尝试单独删除vc2的ReuseID并运行您的应用程序,使用vc3方法与其重用id完整。因为你的vc2没有一个重用id, UIKit不会关心恢复它。当您删除vc2的重用id时,可能出现以下结果之一:

1。vc3会被恢复,当你按下它的返回键时,你会直接进入vc1

2。只有vc1会被还原

最新更新