不需要的 popToRootViewController

Unwanted popToRootViewController

我有一个较旧的 iOS 应用程序,我正在为其更新。使用 8.2 和 8.3 SDK 编译时,我在 8.3 或 7.1 iOS 上向根视图控制器 运行 发送了不需要的弹出消息。根据特定的视图配置,当我将第二个视图添加到堆栈时,我会立即在 viewDidAppear 之后从堆栈上的第二个视图或第三个视图弹出到 rootViewController。我已经为我的所有 popTo 语句设置了断点,但没有一个是造成它的原因。我没有得到任何原因的迹象。是否有任何调试工具可以帮助我找到它?

您可以将导航控制器子类化,并使用仅调用 super 的实现覆盖 popToRootViewController 方法。在那里放置一个断点,您应该能够查明原因。 (确保用子类替换默认导航控制器)。

如果 popToRootViewController 仍然没有被调用,其他视图控制器可能由于某种原因被释放或解散。