Dismiss ViewController 不释放内存

Dismiss ViewController does not deallocate memory

我有一个与内存相关的问题,也就是说,每当我转到(继续)第二个视图然后返回(关闭)时,内存一直在堆积。

我的第二个 viewController 中有以下代码。但是,它不会释放内存。

    override func viewWillDisappear() {
        super.viewWillDisappear()
        self.dismissController(self)
        self.removeFromParentViewController()
}

提前致谢。

当控制器不调用 dealloc 时,这意味着您有一些保留周期。我们应该阅读代码以找到保留的位置。所以你可以通读这个博客并找到你的代码的问题:

Retain Cycle

如果您使用的是当前视图控制器,那么您应该使用以下代码

self.dismissViewControllerAnimated(true, completion: nil)

如果您使用导航控制器推送,请使用以下代码

self.navigationController?.popViewControllerAnimated(true)

可能创建了一个保留循环。在 class 中的某处,您将 "self" 传递给另一个 class 或结构。在 class.

中对 "self" 进行文本搜索

如果您需要帮助找到周期 post 所有在此处赠送 "self" 的行。