我的主要 UIViewController (PMGameViewController.h) 是我的应用程序委托调用的文件。
我的主 UIViewController (PMGameViewController.m) 上有几个按钮。当按下按钮时,我执行 insertSuvbiew 并在顶部附加另一个 UIViewController。迷你游戏结束后,我只需执行 removeFromSubview。这将删除我在顶部插入的 UIViewController 并向我显示主菜单。完美这是我想要的,但是...
在我执行 removeFromSubview 之后,objectalloc 不会下降。如何释放 UIViewController 的内存。我不知道有一种方法可以反向引用我的主 UIViewController (PMGameViewController.m) 来告诉它它已被删除并释放 UIViewController 内存。
这是我插入子视图的方法
//////////////////////////////////////
//Buttons are in PMGameViewController.m file
//////////////////////////////////////
if((UIButton *) sender == gameClassicBtn) {
//////////////////////////////////////
//This Inserts the GameClassic.h file
//////////////////////////////////////
GameClassic *gameClassicController = [[GameClassic alloc]
initWithNibName:@"GameClassic" bundle:nil];
self.gameClassic = gameClassicController;
[gameClassicController release];
[self.view insertSubview:gameClassicController.view atIndex:1];
}
if((UIButton *) sender == gameArcadeBtn) {
//////////////////////////////////////
//This Inserts the GameArcade.h file
//////////////////////////////////////
GameArcade *gameArcadeController = [[GameArcade alloc]
initWithNibName:@"GameArcade" bundle:nil];
self.gameArcade = gameArcadeController;
[gameArcadeController release];
[self.view insertSubview:gameArcadeController.view atIndex:1];
}