0

AppDelegate は、プッシュ通知の受信時にビューコントローラーで「関数」を実行できますか?

アプリケーションには 3 つのタブがあり、アプリケーションがプッシュ通知を受け取ると、3 つ目のタブは Web ビューをリロードする必要があります。

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

}
4

1 に答える 1

3

はい、特定の通知に登録する必要がありますviewController。たとえば、リモート通知を受信した場合は、カスタム通知を投稿し、viewControllerでこの通知を登録/この通知をリッスンして、実行するメソッドを実行します。

あなたが受け取るときremoteNotification

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

[[NSNotificationCenter defaultCenter] postNotificationName:@"pushNotification" object:nil userInfo:userInfo];
}

viewController.mこの通知のビューコントローラを登録します

- (void)viewDidLoad {

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushNotificationReceived) name:@"pushNotification" object:nil];

    [super viewDidLoad];

}

次にセレクターを実装します

-(void)pushNotificationReceived{

// do your stuff

}

dealloc最後に、メソッドの通知から登録を解除することを忘れないでください

-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
于 2013-03-04T20:41:19.097 に答える