如标题所述,我使用的是MMDrawerController。为了简单起见,我有3个ViewControllers,A,B和C.
A是最初的ViewController,它包含一个侧面ViewController,它是C.
从A,我可以转到B. B还包含一个侧面ViewController,它是C。
我认为A和B的麻烦并不值得将C的单独实例作为它们各自的ViewControllers,所以我决定使用相同的C实例作为它们的两个ViewControllers。
当我启动应用程序时,一切都很棒。我转向B,我看到了与ViewController相同的C实例。问题是,当我通过self.dismissViewControllerAnimated(true, completion: nil)
解雇B回到A时,我不再将C视为侧面ViewController。侧面ViewController完全是黑色的。
即使我解雇了B,但我知道我没有从记忆中释放C.我仍然有一个实例,我仍然可以调用其中的东西,封装A的MMDrawerController仍然认为C是它的侧面ViewController。
为什么会这样?我怎么处理这个?
我需要恢复状态吗?
答案 0 :(得分:0)
我做了好几次但是换了另一种方式......我用C作为菜单而且' D' D' D'作为一个
中心屏幕的UINavigatorController
,其中A为rootviewController
。所以你可以在不改变C的情况下从A推送/弹出到B.
希望有所帮助