2015-12-30 118 views
2

我有内存问题,因为每次我去辅助控制器视图(segue)和背部(我称之为解雇)。它不会释放内存。Dismiss ViewController不会释放内存

在segue视图控制器中,我做了以下viewWillDisappear。但是,它不会释放内存。

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

在此先感谢。

+0

问题可能不在解散的控制器中,而是存在于内存中的某些对象中。您是否尝试过任何工具,如“泄漏”? –

回答

0

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

Retain Cycle

0

如果使用目前的视图控制器,那么你应该使用下面的代码

self.dismissViewControllerAnimated(true, completion: nil) 

如果您正在使用导航控制器推,然后使用下面的代码

self.navigationController?.popViewControllerAnimated(true) 
0

可能有一个保留周期的创建。在这个类的某个地方,你将“self”传递给另一个类或结构体。在课堂上搜索“自我”。

如果您需要帮助找到所有在这里放弃“自我”的行的帖子。