2015-12-30 120 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」傳遞給另一個類或結構體。在課堂上搜索「自我」。

如果您需要幫助找到所有在這裏放棄「自我」的行的帖子。