私は「ちょうど良い」動作をしている親ビューコントローラに戻り、「コードは変更されていません」というモーダルビューをいくつか持っています。 - 古典的な問題の説明。iPad:モーダルビューを表示し、parentViewControllerがゼロになりましたか?
私はモーダルビューを解除し、親ビューコントローラはnilでデバッグしました。問題は説明されていますが、原因は説明されていません。私はSDKを4.1.2から4.2にアップグレードして、iOS 5での作業を開始できるようになりました。私は新しいメモリ管理ARCと私のスタイルのautoreleaseとretain/releaseの疑いがあります。
- (IBAction)doInfo:(id)sender {
NSLog(@"%s", __FUNCTION__);
AboutViewController *aboutViewController = [[[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:[NSBundle mainBundle]] autorelease];
if (aboutViewController) {
aboutViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
aboutViewController.hidesBottomBarWhenPushed = YES;
self.navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
self.navigationController.navigationBarHidden = YES;
[self presentModalViewController:aboutViewController animated:YES];
}
}
「完了」ボタンを押した後、その親に戻すAboutViewControllerに解任された後:後
はAboutViewControllerに私rootviewコントローラからのコードです。
- (IBAction)doDone:(id)sender {
NSLog(@"%s", __FUNCTION__);
[[self parentViewController] dismissModalViewControllerAnimated:YES];
}
OK ...次のように変更して修正しました。今、問題はなぜこれが以前に働いたのですか?引用
- (IBAction)doDone:(id)sender {
NSLog(@"%s", __FUNCTION__);
[self dismissModalViewControllerAnimated:YES];
}
FYI - 。私は私のiOS5を持つ(目標5.0を除く)iOS4を持つiPad上のコード、iPadやシミュレーター5.0とターゲット4.1、4.2、4.3および5.0の順列をテストしました。それはあなたが見つけたものがドキュメントに記載されていることを確認します。 iOS 4コードがPresentingViewControllerを「見つからない」としてクラッシュする – mobibob