Dismiss ViewController不释放内存

时间:2015-12-30 07:27:22

标签: swift memory segue nsstoryboard

我遇到了一个与内存相关的问题,也就是说,无论何时我去(第二视图)然后返回(解除),内存都会堆积起来。

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

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

提前致谢。

3 个答案:

答案 0 :(得分:1)

当控制器不调用dealloc时,表示您有一些保留周期。我们应该阅读代码以找到保留的位置。因此,您可以通读此博客并查找代码问题:

Retain Cycle

答案 1 :(得分:1)

可能存在创建的保留周期。在课堂的某个地方,你正在经历" self"在外面到另一个类或结构。对文字进行搜索" self"在课堂上。

如果你需要帮助找到所有放弃的线路周期" self"这里。

答案 2 :(得分:0)

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

self.dismissViewControllerAnimated(true, completion: nil)

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

self.navigationController?.popViewControllerAnimated(true)