私はARCベースのプロジェクトに取り組んでいます。2つのViewControllerを取得しました。最初のViewControllerにはボタンがあり、そのボタンを押すと新しいViewControllerを押します。
私はそれを次のようにやっています:
SecondViewController *second=[[SecondViewController alloc]initWithStrVal:self.strVal];
[self.navigationController pushViewController:second animated:YES];
私の問題は、SecondViewControllerをプッシュしてから、 getsのdeallocメソッドでFirstView Controller
オブジェクトを作成することです。SecondViewController
FirstViewController
FirstViewController
一方、プッシュのみを実行し、 inのインスタンスを作成しない場合、deallocメソッドは呼び出されませんSecondViewController
。View Controllerをプッシュしたときに聞いた限りではdealloc
、ARCベースのプロジェクトの通常のシナリオでは以前のViewControllerが削除されていないため、通常のシナリオでは呼び出さないでください。
編集:
最初のViewControllerは、アプリデリゲートで次のように設定されます。
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.navController=[[UINavigationController alloc]initWithRootViewController:viewController];
self.window.rootViewController = self.navController;