在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]; }