私の iPhone アプリでは、プッシュ通知を使用しています。通知を受け取ったら、現在のViewControllerから別のViewControllerに移動したいです。私は- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
appdelegate自体に書いた。そして、私はViewベースのアプリケーションを使用しているので、使用したいpresentModalViewController
(と思います)。そして、次のコードを使用しました:
UIViewController *view = (UIViewController*)self.viewController.presentedViewController;
[view presentModalViewController:self.anotherVC animated:NO];
しかし、エラーが発生しました
2012-06-19 17:47:52.521 iPhoneApp[1450:607] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <HomeScreenVC: 0x1fb77cc0>.'
ここで何がうまくいかなかったのですか?何か案が。
編集 問題を詳しく説明します。ビューコントローラーVC1、VC2、VC3、およびVC4があります。私の rootviewcontroller は VC1 です。VC2 や VC4 にいるときにプッシュ通知が来たら、通知アラートの [OK] ボタンをクリックすると、VC3 に移動したいと考えています。ただし、アラート ビューのデリゲート メソッドは appdelegate.m にあります。
コードを次のように更新しました
self.menuVC = [[MenuScreenVC alloc] initWithNibName:@"MenuScreenVC" bundle:nil];
UIViewController *view = (UIViewController*)self.viewController.presentedViewController;
[view presentModalViewController:self.menuVC animated:NO];
VC2 の場合は VC3 に移動できますが、VC4 の場合は移動できません。助けてください