我在单独的 Storyboard中有一个 UISplitViewController。我现在只是 iPhone,iOS 8+,并且是这样做的,所以当我构建我的 iPad 版本时它会工作。

从我的主 Storyboard和普通的 UINavigationController/UIViewController,我以模态呈现 splitViewController。当我解雇时,我的拆分、主要或次要 View Controller 都不会被释放(没有来自 dealloc 的控制台日志)。

根据 View Controller Catalog ,截至 2014-11-15:



但截至 2015 年 6 月 8 日,实际的 UISplitViewController documentation 并未提及此限制。

Xcode 没有给我任何关于呈现 UISplitViewController 的警告。因此,假设这是一个可接受的用例,我该如何确保所有内容在被解雇时都被正确销毁?

最佳答案

最近我遇到了完全相同的问题 - UISplitViewController 如果在模态呈现后被解除,则永远不会被解除分配。

所以,最后我决定使用 MGSplitViewController,即更新到 iOS 8 分支 - https://github.com/asprega/MGSplitViewController

它的工作方式与 UISplitViewController 相同,但更灵活,可以模态呈现而不会出现任何内存泄漏!
(顺便说一句,它几乎没有小故障,但在我的情况下并不那么重要......)

关于ios - 模态呈现的 UISplitViewController 永远不会被释放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32704505/

10-12 14:42