1

私はARCベースのプロジェクトに取り組んでいます。2つのViewControllerを取得しました。最初のViewControllerにはボタンがあり、そのボタンを押すと新しいViewControllerを押します。

私はそれを次のようにやっています:

SecondViewController *second=[[SecondViewController alloc]initWithStrVal:self.strVal];
[self.navigationController pushViewController:second animated:YES];

私の問題は、SecondViewControllerをプッシュしてから、 getsのdeallocメソッドでFirstView Controllerオブジェクトを作成することです。SecondViewControllerFirstViewController

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; 
4

0 に答える 0