2010-03-05 52 views
0

我目前工作的一個項目中,我通過下面的方式,通過調用其他視圖了項目:---如何從iphone中釋放presentModalViewController內存?

frmImage *frmImageOne = [[frmImage alloc]initWithNibName:@"frmImage" bundle:nil]; 
[self presentModalViewController:frmImageOne animated:YES]; 
[frmImageOne release]; 

正是我想要的是,當我在IPhone設備加載我的應用程序它得到由於使用了PresentModalViewController的StackOverflow而終止,這只不過是內存泄漏。

所以,請任何機構告訴我如何通過代碼從堆棧內存中釋放presentModelViewcontroller。

由於提前

+0

我會看看你的viewWillAppear/viewDidAppear或其他模態控制器的設置代碼,以確保超級的實現被調用。 – blindjesse 2010-03-05 15:46:29

回答

2

堆棧溢出無關內存泄漏,你不是在堆棧上存儲frmImage。 ObjC不能在堆棧上存儲對象。它只在棧上存儲指針;對象本身總是存儲在ObjC的堆中。

如果你得到一個堆棧溢出,那麼你幾乎肯定是在一個無限遞歸循環。您的堆棧跟蹤數百或數千幀深度相同的調用?這是通常的原因。

+0

打我吧!非常好的答案。 – 2010-03-05 15:37:11