1

我遇到以前的问题,当我通过UINavigationController推送它后发布viewController,所以我现在autorelease每个viewController将被推送。但我经常看到开发人员在推送它之后发布viewController的代码。什么时候发布/ autorelease VC的将被推

我的问题是,何时是正确的时间释放/自动释放一个UIViewController推入堆栈时?

感谢

回答

1

发布

导航控制器保留,当你推视图控制器。

我会建议您之前的任何问题都与上述过程无关,但在其他地方。

+0

但是我遇到的问题是在推送后释放v/c时遇到的exc_bad_access。 – 2011-06-15 17:11:50

+0

如果你可以显示一个代码块来重现这个问题,那么我们可以帮助解决这个问题。我非常怀疑这是在我的答案中列出的过程。 – InsertWittyName 2011-06-15 17:13:26

+0

我目前没有收到问题,但我会发布,如果我这样做。 – 2011-06-15 17:17:21

0

是否在推送之前自动释放视图控制器或在推送没有什么区别后释放视图控制器。推后释放效率更高一些,因为它会使视图控制器更快地释放(释放内存的速度更快),但autorelease也会尽快释放它,但稍后会释放。

1

 
ViewController *yourViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
[self.navigationController pushViewController:yourViewController animated:YES]; 
[yourViewController release]; 

相关问题