BViewController を A から適切にプッシュしています。B には、viewDidLoad 時にページの読み込みを開始する webview が含まれています。B を A にポップすると、奇妙な動作が発生します。
- webview がロードを終了し、popViewController (ツールバー ボタンの touchUpInside の場合の IBAction) を実行すると、A にポップされて、すべてが完全に機能します。
- ただし、webview の読み込みが終了する直前に popViewController を実行すると、exc_bad_access が原因でアプリがクラッシュします。なぜ?ビューはすでにロードされています!
ナビゲーション スタック上にある両方の状況のビュー コントローラーをチェックしました。どちらの場合も同じ結果、2 つの同じオブジェクト、違いはありません!
-(IBAction)goBackOrg:(id)sender{
NSArray *viewControllers = self.navigationController.viewControllers;
[[self navigationController] popViewControllerAnimated:NO];
}
以前にそれをプッシュするために、私は使用しています
if(!self.BController){
self.BController = [[BViewController alloc] initWithNibName:@"BViewController" bundle:nil anUrlDest:urlSocial];
}
[[self navigationController] pushViewController:self.BController animated:NO];