下面是减少的代码,以证明我遇到的问题。
我分配并初始化一个视图控制器。 init方法是标准的Objective C init,因此视图控制器还没有做任何事情。然后我创建一个navigationController,用新创建的视图控制器初始化root。 我然后释放视图控制器,因为导航器现在已经使用它,我不需要它。 在下一行中,nav被释放,我希望将调用视图控制器的dealloc / viewDidUnload。 相反,他们不是。 如果我没有将sportsViewController放在nav控制器上,则在释放sportsViewController后调用dealloc。 我究竟做错了什么? (顺便说一句,我有其他类似的代码片段可以正常工作)
SportsViewController *sportsViewController = [[SportsViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:sportsViewController];
[sportsViewController release];
[nav release];