如何在iphone中发布presentModalViewController堆栈?

时间:2010-02-25 14:16:47

标签: iphone cocos2d-iphone

我在下面复制我的代码: -

-(IBAction)referencewindow:(id)sender
{
    frmReferences *reference = [[frmReferences alloc]initWithNibName:@"frmReferences" bundle:nil];
    [self presentModalViewController:reference animated:YES];
}

我使用presentModelViewController有很多地方,我的问题是堆栈显示由于presentmodelviewcontroller导致的内存泄漏。

当我们使用presentModelViewController调用上面所述的其他nib然后它只是覆盖到上一个视图但是之前的视图仍处于进程中这就是为什么发生内存lekage问题因此请告诉我当我使用presentModelViewController调用其他nib文件然后如何从内存中卸载前一个视图,同时切换到其他视图,然后在其他视图上卸载到下一个视图。

2 个答案:

答案 0 :(得分:1)

你必须在调用presentModalViewController方法之后释放你的viewController,如下所示:

- (IBAction)referencewindow:(id)sender {
   frmReferences *reference = [[frmReferences alloc]initWithNibName:@"frmReferences" bundle:nil];
   [self presentModalViewController:reference animated:YES];
   [reference release];
}

此处有更多信息:Modal View Controllers

答案 1 :(得分:0)

使用现有的模态视图构建导航层次结构?它可以工作,但你需要在某个时候发布它。

我认为如果你尝试使用普通的内存管理规则,那就可以了。尝试从你的观点回来,他们应该被释放,你会看到记忆在仪器中消失。