推送通知以查看iPhone

时间:2011-07-12 08:29:21

标签: iphone uiview delegates push push-notification

我有推送通知工作,但接下来要做的就是在点击通知时打开相关视图。

在我appDelegate.m的{​​{1}}中,我有以下内容:

didFinishLaunchingWithOptions

但是,在这一行:NSString *params=[[launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"] objectForKey:@"alertType"]; if ([params length] > 0 ) {//app launch when VIEW button of push notification clicked if (params == @"sc") { Alerts *alerts = [[Alerts alloc] initWithNibName:@"Alerts" bundle:nil]; [[self navigationController] pushViewController:Alerts animated:YES]; [Alerts release]; } else { } } ,会出现一条警告,指出未找到方法'-navigationController'(返回类型默认为'id')

如何纠正此警告,我是否正确尝试推送[[self navigationController] pushViewController:Alerts animated:YES];中的相关观点?

感谢。

2 个答案:

答案 0 :(得分:2)

在设置naviagationcontroller属性后,您必须从appdelegate方法向窗口添加任何导航控制器。

[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];

然后,您可以根据需要推送视图。

答案 1 :(得分:1)

您的navigationController可能未被声明为@property,因此您无法使用[self navigationController]。只需尝试self.navigationController,或者只是navigationController,如果这是.h中的名称。

另外,请不要将字符串与==进行比较。你必须if ([params isEqualToString:@"sc"])。这比较了内容而不是字符串的地址