如标题所述,我使用的是 MMDrawerController。为了简单起见,我有 3 个 ViewController,A、B 和 C。
A 是初始 ViewController,它包含一个侧 ViewController,即 C。
从A,我可以segue到B。B还包含一个侧视图控制器,即C。
我认为 A 和 B 将 C 的单独实例作为它们各自的侧 ViewControllers 是不值得的,所以我决定使用相同的 C 实例作为它们的侧 ViewControllers。
当我启动应用程序时,一切都很好。我选择 B,我看到了与侧 ViewController 相同的 C 实例。问题是当我通过关闭 Bself.dismissViewControllerAnimated(true, completion: nil)
回到 A 时,我不再将 C 视为侧视图控制器。侧面的 ViewController 是完全黑色的。
即使我解雇了 B,我知道我没有从记忆中释放 C。我还有一个实例,我仍然可以在里面调用东西,封装A的MMDrawerController仍然认为C是它的侧ViewController。
为什么会这样?我该如何处理?
我需要为此进行状态恢复吗?