1

在我的 iPhone 应用程序中,我使用的是 Pushnotifications。当我收到通知时,我想从当前视图控制器移动到另一个视图控制器。我- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex在 appdelegate 本身中写了。我正在使用基于视图的应用程序,所以我想使用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 时收到推送通知,当我单击通知警报的确定按钮时,我想移动到 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,我不能。请帮忙

4

1 回答 1

3

而不是您使用的执行以下操作

[self.window.rootViewController presentModalViewController:self.anotherVC animated:NO];
于 2012-06-19T12:33:56.200 回答