メニューとして機能するルートビューコントローラーがあります。アイテムを選択すると、フルスクリーンデータがモーダルに表示されます。戻るボタンを押すと、次のコードが実行されます。
BoardViewController.mの場合:
- (IBAction)menuButtonPressed:(id)sender
{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
メインメニューにうまく戻ります。しかし、この後、却下されたビューコントローラーを破棄したいと思います(プッシュ/ポップビューコントローラーを使用している場合など)。私はそれらの参照を保存しませんが、それらは却下された後もまだ生きています。どうすれば修正できますか?(ARCを使用)
編集
AppDelegate.mの場合:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
MenuViewController *menuVC = [[MenuViewController alloc] init];
self.window.rootViewController = menuVC;
...
}
MenuViewController.mの場合:
- (IBAction)newGame:(id)sender
{
BoardViewController *boardVC = [[BoardViewController alloc] init];
boardVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:boardVC animated:YES completion:nil];
}
編集2
さて、弱いデリゲートプロパティが問題を引き起こしました。全てに感謝!