2

リモート通知を受信して​​います。nsnotification を投稿したい。通知を投稿できますが、現在のビュー コントローラーでは受信できません。

これが私のコードです。

私はこれが呼び出されることを知っています:

AppDelegate.m

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

 [[NSNotificationCenter defaultCenter] postNotificationName:CHAT_MESSAGE_RECEIVED object:nil userInfo:messageIdDict];

 }

これは、上記のコードが呼び出される前に呼び出されます

MyViewController.m

 -(void)viewWillAppear:(BOOL)animated
 {

 [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(messageReceived:)
                                             name:CHAT_MESSAGE_RECEIVED
                                           object:self];

 }

 -(void)messageReceived:(NSDictionary *)userInfo
 {
      NSLog(@"Logged");
 }
4

1 に答える 1

1

これが私がそれを行う方法です:

AppDelegate で:

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

 [[NSNotificationCenter defaultCenter] postNotificationName:CHAT_MESSAGE_RECEIVED              
                                                     object:messageIdDict 
                                                   userInfo:nil];

 }

MyViewController で:

-(void)viewWillAppear:(BOOL)animated
 {

 [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(messageReceived:)
                                              name:CHAT_MESSAGE_RECEIVED
                                            object:nil];

 }

 -(void)messageReceived:(NSNotification *)notification
 {
      NSDictionary *userInfo = NSDictionary dictionaryWithDictionary:[notification object]];
      NSLog(@"Logged");
 }

お役に立てれば

于 2013-07-12T08:11:43.910 に答える