解雇模态视图控制器时的内存泄漏

时间:2010-06-22 13:14:25

标签: iphone objective-c cocoa-touch xcode

在名为controller1的控制器中,我正在推动模态视图控制器

     AddConversationViewController *addController = [[AddConversationViewController alloc] 
 initWithNibName:@"AddConversationViewController" bundle:nil];
 //addController.delegate = self;    
 UINavigationController *navigationController = [[UINavigationController alloc]
 initWithRootViewController:addController];
 [self presentModalViewController:navigationController animated:YES];
 [addController release];
 [navigationController release];

然后在那个addcontroller中,我已经分配了几个对象。但是在dealloc方法中,当我释放这些对象时,当我关闭模态视图控制器时,我会收到BAD_ACCESS警告。如果我没有释放我分配的那些对象,它就不会给出BAD_ACCESS警告。 我之前分配的那些对象不会被释放也不会保留。

有人知道如何修复此内存泄漏吗?

2 个答案:

答案 0 :(得分:1)

使用Xcode 3.2,您可以使用Clang Static Analyzer查看内存管理出错的确切位置。只需从Build菜单中选择“Build and Analyze”即可使用该工具。

答案 1 :(得分:0)

我只能猜测当你解散addController时,你还没有解除分配addController,但是你释放了它的对象。

那么,您可以尝试将deallocate代码放入addController

的dealloc方法中