在 popViewController Animated() 之后缺少堆栈中的第一个 ViewController

Posted

技术标签:

【中文标题】在 popViewController Animated() 之后缺少堆栈中的第一个 ViewController【英文标题】:Missing first ViewController in the stack after popViewControllerAnimated() 【发布时间】:2016-05-26 16:46:35 【问题描述】:

位于堆栈中的第三个控制器 (ReleaseCaptureVC)

"<DashboardViewController: 0x7f9788ed80a0>",
"<ChargeDetailViewController2: 0x7f978b072a00>",
"<ReleaseCaptureViewController: 0x7f978a0f39f0>"

我在做[self.navigationController popViewControllerAnimated]

在此命令后,当前控制器立即从堆栈中正确删除,我看到了 ChargeDetailViewController2

"<DashboardViewController: 0x7f9788ed80a0>",
"<ChargeDetailViewController2: 0x7f978b072a00>"

现在当试图从现在退一步时,我发现第一个 VC 已经从堆栈中消失了:

""

它是如何发生的,发生在什么时候?

【问题讨论】:

【参考方案1】:

找到根本原因 - 涉及的其他代码已明确删除堆栈中的一个控制器。所以没有系统问题。

【讨论】:

以上是关于在 popViewController Animated() 之后缺少堆栈中的第一个 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

PopViewController 正在占用内存

默认 popViewController 过渡意外淡出

在 popViewController 之后 ContentInset 自动改变

Swift - 解雇后的popViewController

dismissModalViewController 然后是 popViewController

popViewController:animated: 在 iOS 9 中不工作