1

ナビゲーションベースのアプリケーションがあります。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

4

2 に答える 2

0

あなたの問題は、uinavigationcontrollerの割り当てが解除されていることだと思います。2番目のビューを最初のビューと同じようにuinavigationcontrollerに配置して、再試行する必要があります。

お役に立てれば :)

于 2012-11-28T13:54:17.030 に答える