なぜinitWithRootViewControllerそれに渡されるのViewControllerクラスを保持しないのですか?
-
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ます。
所属していません StackOverflow