ナビゲーションベースのアプリケーションがあります。UINavigationController
次のようなアプリケーション内didFinishLaunchingWithOptions
デリゲート メソッドを作成しました。
self.initialviewcontroller = [[InitialViewController alloc] initWithNibName:@"InitialViewController" bundle:nil];
UINavigationController *myNavController = [[UINavigationController alloc] initWithRootViewController:self.initialviewcontroller];
self.window.rootViewController = myNavController;
[self.window makeKeyAndVisible];
にInitialViewController
ナビゲートするボタンがありますSecondViewController
。したがって、ボタンのアクションでは、次のように押しSecondViewController
ます。
if(self.secondView != nil)
self.secondView = nil;
self.secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self.navigationController pushViewController:self.secondView animated:YES];
状況 : ナビゲーションは正常に機能しており、 から までナビゲートできInitialViewController
ますSecondViewController
。私SecondViewController
が入ってデバイスのホームボタンを押すと、アプリケーションはバックグラウンドに入り、アプリを再度開くと、閉じたところからアプリが開きます(つまり、SecondViewController)。戻るボタンを押して InitialViewController に移動すると、アプリがクラッシュします。
iOS シミュレーターでは正常に動作していますが、デバイスでクラッシュが発生します。
私は自分がした間違いを理解していませんでしたか?
これが私のエラーコードです
例外の種類: EXC_BAD_ACCESS (SIGSEGV) 例外コード: KERN_INVALID_ADDRESS at 0x654b495d クラッシュしたスレッド: 0
スレッド 0 名: ディスパッチ キュー: com.apple.main-thread