0

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

为什么会这样?我该如何处理?

我需要为此进行状态恢复吗?

4

1 回答 1

0

I did It several times but in another way... I use C as menu and 'D' as a UINavigatorController with A as rootviewController for the center screen. So You can push/pop from A to B without change C.

Hope It helps

于 2015-09-01T07:44:53.250 回答