我在一个单独的故事板中有一个UISplitViewController.我现在只是iPhone,iOS 8,并且这样做,所以当我构建我的iPad版本时它会起作用.
从我的主要故事板和普通的UINavigationController / UIViewController,我以模态方式呈现splitViewController.当我解雇时,我的split,primary或secondary viewControllers都没有被释放(没有来自dealloc的控制台日志).
根据View Controller Catalog,截至2014-11-15:
Split view controllers cannot be presented modally.
但截至2015-06-08,实际的UISplitViewController documentation并未提及此限制.
Xcode没有给我任何关于呈现UISplitViewController的警告.因此,假设这是一个可接受的用例,我该如何确保在被解雇时一切都被正确销毁?
解决方法
最近我遇到了完全相同的问题 – 如果在模态呈现后被解雇,UISplitViewController永远不会被解除分配.
所以,最后我决定使用MGSplitViewController,即更新到iOS 8分支–https://github.com/asprega/MGSplitViewController
它的工作方式与UISplitViewController相同,但更灵活,可以在没有任何内存泄漏的情况下以模态方式呈现!(顺便说一下,它没有什么故障,但在我的情况下并不那么重要……)