在AppDelegate中的ViewController中执行预制函数

在收到推送通知时,AppDelegate可以在viewcontroller中运行“函数”吗?

该应用程序包含三个选项卡,第三个需要在应用程序获取推送通知时重新加载其webview。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { } 

是的,你需要注册你的viewController的特定通知,例如在你的情况下,当你收到一个远程通知,只是张贴自定义通知,并在您的viewController,注册此通知/听这个通知,并执行你想要执行的方法。

当你收到remoteNotification

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { [[NSNotificationCenter defaultCenter] postNotificationName:@"pushNotification" object:nil userInfo:userInfo]; } 

在你的viewController.m注册这个通知的viewcontroller

 - (void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushNotificationReceived) name:@"pushNotification" object:nil]; [super viewDidLoad]; } 

接下来执行select器

 -(void)pushNotificationReceived{ // do your stuff } 

最后不要忘记在你的dealloc方法中注销通知

 -(void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; }