2010-10-07 72 views
0
VisitWebsiteVC *visitWebSite = [[[VisitWebsiteVC alloc] initWithNibName:@"VisitWebsiteVC" bundle:nil] retain]; 
      [self.navigationController pushViewController:visitWebSite animated:YES]; 
      [visitWebSite dealloc]; 

由于[visitWebSite dealloc]会发生什么情况。当这些代码行运行时发生了什么+ iPhone

+4

永远永远永远永远不会永远调用dealloc – 2010-10-07 14:12:02

+2

“由于[visitWebSite dealloc]会发生什么。”没什么好的。 – 2010-10-07 14:15:34

回答

4

首先,你应该永远不要调用dealloc方法(dealloc中的[super dealloc]除外)。

你的代码应该抛出一个异常BAD_ACCESS

(保留计数) 的Alloc = 1 保留+ 1 = 2 推+1 = 3 的dealloc = 0

但你VisitWebsiteVC实例是仍在通过导航控制器使用

你应该做的是:

VisitWebsiteVC *visitWebSite = [[VisitWebsiteVC alloc] initWithNibName:@"VisitWebsiteVC" bundle:nil]; 
      [self.navigationController pushViewController:visitWebSite animated:YES]; 
      [visitWebSite release]; 
相关问题