なぜinitWithRootViewControllerそれに渡されるのViewControllerクラスを保持しないのですか?

StackOverflow https://stackoverflow.com/questions/1054993

  •  20-08-2019
  •  | 
  •  

質問

私はViewControllerをはSourceListViewControllerと呼ばれるカスタムを持っている、と私はUINavigationController、それからiPhoneアプリのウィンドウに追加されたビューにそれを追加しています。 UINavigationControllerにSourceListViewControllerを通過した後、私はsourceListViewControllerをリリース。

SourceListViewController *sourceListVC = [[SourceListViewController alloc] initWithNibName:@"SourceListViewController" bundle:nil];
UINavigationController *navigationController = [[[UINavigationController alloc] initWithRootViewController:sourceListVC] autorelease];
[sourceListVC release];

私はこれを行うと、ビューが携帯電話にロードされた後、アプリがクラッシュしました。私は最後の行、アプリの作業罰金をコメントアウトするとき。 initWithRootViewController sourceListVCのコピーを保持することになっていませんか?

役に立ちましたか?

解決

あなたはnavigationControllerを自動解放されています。 (おそらく次の実行ループに起こるであろう)navigationControllerが自動解放されますのであればそのようになりますsourceListVCます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top