我找不到问题!任何有关这方面的帮助将受到高度赞赏: 从UITableView我正在推送一个包含带有UIwebView的视图的新视图来访问互联网。单击后退按钮时,我收到下一个错误:对象0x3d438的malloc: * 错误:未分配被释放的指针。 但是,当我评论最后一行(当dvController被释放时)一切正常工作!!!
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self setCellIdxPathSelected:indexPath];
NSString *selectedID = [[theList objectAtIndex:indexPath.row] theWebID];
ExternalWebView *dvController = [[ExternalWebView alloc] initWithNibName:@"ExternalWebView" bundle:nil];
dvController.hidesBottomBarWhenPushed= YES;
dvController.theWebID= selectedID;
NSLog(@"El ID: %@", selectedID);
[self.navigationController pushViewController:dvController animated:YES];
[dvController release]; // ERROR !!!
}
答案 0 :(得分:0)
尝试使用dvController
创建autorelease
:
ExternalWebView *dvController = [[[ExternalWebView alloc]
initWithNibName:@"ExternalWebView" bundle:nil] autorelease];
然后删除[dvController release]
语句。
如果您使用Leaks工具运行Instruments并确认您实际上没有泄漏dvController,则确认您没有泄漏。
我的预感是你的控制器被另一个对象释放,你的对象以某种方式变成了子视图。在另一种情况下,我之前已经看到过这种行为。
当然,如果上述变化也会导致崩溃,那么就会出现更深层次的问题,我认为我们需要更多关于ExternalWebView
的信息。