2012-12-04 49 views
3
去除

我添加子視圖控制器如下後childViewController沒有得到釋放:從parentViewController

loginViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"]; 
    loginViewController.delegate = self; 

[self addChildViewController:loginViewController]; 
[self.view addSubview:loginViewController.view]; 
loginViewController.view.frame = self.view.bounds; 
[loginViewController didMoveToParentViewController:self]; 

,並按如下取出:

[loginViewController willMoveToParentViewController:nil]; 
[loginViewController.view removeFromSuperview]; 
[loginViewController removeFromParentViewController]; 

如果我理解正確的話,應能觸發的dealloc在LoginViewController中,但它不?我錯過了什麼嗎?

+1

你碰巧解決了你的問題嗎? – jbouaziz

+0

@jbouaziz我不記得問題是如何解決的,但是我確實得出了一個結論這個 – 2cupsOfTech

回答

0

不完全。刪除控制器的視圖與正在釋放的控制器無關,只是控制器的視圖(由控制器保留,所以不會釋放)。

您有[self addChildViewController:loginViewController];,您是否將它存儲在某處?可能是數組?這就是這種情況,有你的泄漏,你需要把它從你的任何地方刪除

相關問題