swift - 初始 View Controller 应该调用 "deinit"吗?

标签 swift memory-leaks uiviewcontroller ios9 automatic-ref-counting

我正在学习swift,我制作了一个以 VC0 作为初始 View Controller 的应用程序,从 Storyboard 中,我连续使用 VC0 中的三个按钮将三个推送转至 VC1、VC2 和 VC3,我不使用导航 Controller ,也不使用“rootviewconroller” “概念,每个 VC1、VC2 和 VC3 都有按钮执行展开转场到 VC0,每个 VC1、VC2 和 VC3 的 deinit 都被成功调用,但 VC0 deinit 从未被调用!!,当我继续插入和展开时,我的内存使用量也在增加通过按钮,我错过了什么,如何避免这样的内存泄漏?

最佳答案

何时取消初始化 View Controller 几乎由操作系统决定。如果我正确理解您的帖子,则无论您使用哪个 View Controller ,V0 都位于 View Controller 堆栈的基础上。因此,操作系统将根据需要看到它并且不会取消它。

关于swift - 初始 View Controller 应该调用 "deinit"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39423955/

相关文章:

swift - 如何创建可以从以编程方式创建的按钮调用的 segue?

ios - NSJSONSerialization.JSONObjectWithData 导致应用程序在 alamofire 迁移后崩溃

ios - UINavigationBarAppearance 不适用于基于图像的栏按钮项目

c++ - 内存泄漏是永久性的吗?

iOS 切换回后台 UIViewController

ios - Rxswift3.0 中的 throttle 和 debounce 有什么区别?

r - 使用 RDCOMClient 打开数据帧时内存泄漏

.net - ReactiveUI ObservableAsPropertyHelper/Reactive Extensions 内存泄漏?

ios - 从 View 访问 UIViewController

ios - Swift - 实例化新 View Controller 时如何保留对旧 View Controller 的引用?