メインの 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];
}