在我的iPhone应用程序中,我正在使用Pushnotifications。当我收到通知时,我想从当前的viewcontroller转移到另一个viewcontroller。我在appdelegate本身写了- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
。我正在使用基于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>.'
这里出了什么问题?任何想法。
修改 我将详细说明这个问题: 我有viewcontrollers VC1,VC2,VC3和VC4。我的rootviewcontroller是VC1。如果我在VC2或VC4时发出推送通知,当我点击通知提醒的确定按钮时,我想转到VC3。但是警报视图的委托方法是在appdelegate.m。
我更新了我的代码,如
self.menuVC = [[MenuScreenVC alloc] initWithNibName:@"MenuScreenVC" bundle:nil];
UIViewController *view = (UIViewController*)self.viewController.presentedViewController;
[view presentModalViewController:self.menuVC animated:NO];
现在我可以导航到VC3,如果我在VC2,我不能,如果我在VC4。请帮忙
答案 0 :(得分:3)
而不是您使用的内容,请执行以下操作
[self.window.rootViewController presentModalViewController:self.anotherVC animated:NO];