MMDrawerController:对两个独立的中心视图控制器使用相同的实例leftViewController

时间:2015-09-01 07:10:55

标签: ios swift uiviewcontroller automatic-ref-counting mmdrawercontroller

如标题所述,我使用的是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。

为什么会这样?我怎么处理这个?

我需要恢复状态吗?

1 个答案:

答案 0 :(得分:0)

我做了好几次但是换了另一种方式......我用C作为菜单而且' D' D' D'作为一个 中心屏幕的UINavigatorController,其中A为rootviewController。所以你可以在不改变C的情况下从A推送/弹出到B.

希望有所帮助