我不明白为什么在这种情况下FirsViewController没有被销毁/释放。
我的AppDelegate.m - FirstViewController被推入堆栈中。
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
self.navigationController = [[UINavigationController alloc]init];
self.FirstViewController = [[FirstViewController alloc]
initWithNibName:@"FirstViewController"
bundle:[NSBundle mainBundle]];
[self.navigationController FirstViewController animated:YES];
FirstViewController.m
self.SecondViewController = [[SecondViewController alloc]
initWithNibName:@"SecondViewController"
bundle:[NSBundle mainBundle]];
self.SecondViewController.totalNumberOfPlayers = self.selectedRow;
[self.navigationController pushFadeViewController:self.SecondViewController];
[self.view removeFromSuperview];
-(void)dealloc
{
[SecondViewController release];
NSLog(@"SecondViewController released");
}
当我运行应用程序并从第一个视图控制器切换到第二个视图控制器时,控制台中没有NSLog输入。这使我认为第一个视图控制器没有被销毁,它的内存也没有释放。
似乎[self.view removeFromSuperview]在这种情况下不能正常工作。
我的问题是如何释放/销毁FirstController? 在应用程序的其余部分中将永远不会使用它。