EXC_BAD_ACCESS和Zombies,但不确定为什么它会不断出现

时间:2011-07-20 06:49:50

标签: iphone objective-c ios xcode instruments

我不知道这里出了什么问题。在视图之间来回切换时发生崩溃。

这是仪器给我的东西: Crash in instruments

单击它会引用此代码并执行第一个操作:

-(IBAction)pushnews; {
NewsViewController *news = [[[NewsViewController alloc]init]autorelease];
news.title =@"Page";
[self.navigationController pushViewController:news animated:YES]; }

我有时会使用autorelease,但通常我只是将它释放出来。我应该摆脱自动释放并添加[news retain]

我做错了什么?


根据答案进行编辑: 遵循EmptyStack的建议:ViewWillDisappear Code如下所示:

- (void)viewWillDisappear:(BOOL)animated {
webView.delegate = nil; } 

这似乎可以解决问题(等待更多测试)

在viewdidload中我说:webView.delegate = self;,这可能是问题所在!

2 个答案:

答案 0 :(得分:2)

我的猜测是, NewsViewController 中有 UIWebView ,导致崩溃。在Web视图发布后,可能会调用Web视图的委托方法。如果是,请尝试在 NewsViewController的 viewWillDisappear:方法中设置webView.delegate = nil;

答案 1 :(得分:0)

试试这个:

-(IBAction)viewcontroller;
{
    NewsViewController *news = [[NewsViewController alloc]init];
    news.title =@"Page";
    [self.navigationController pushViewController:news animated:YES]; 
    [news release];
}