2014-11-17 1 views
0

У меня есть процесс локального уведомления с использованием объектного приложения C для iPhone. Я хочу передать данные после didReceiveLocalNotification в главный контроллер.как создать после получения данных локального уведомления перейти к контроллеру Main view с использованием объектного c?

- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif { 


    if (app.applicationState == UIApplicationStateInactive) { 
     NSLog(@"app not running"); 

     // I need to pass the data to main view controller 


    }else if(app.applicationState == UIApplicationStateActive) { 
     NSLog(@"app running"); 


     // I need to pass the data to main view controller 

    } 

    NSLog(@"Recieved Notification %@",notif); // Handle the notificaton when the app is running 

} 
+0

, пожалуйста, покажите свой навигационный стек, как вы создаете свой поток. –

+0

Я создал процесс навигации custome ... – Mano

ответ

2

вы можете использовать NSNotificationCenter для передачи данных.

в MainViewController.m

в viewDidLoad

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

-(void)notifMainController:(NSNotification *)notif 
{ 
    NSLog(@"%@",notif.object); 
} 

в AppDelegate

- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif 
{ 

NSLog(@"Recieved Notification %@",notif); // Handle the notificaton when the app is running 

if (app.applicationState == UIApplicationStateInactive) 
{ 
    NSLog(@"app not running"); 
    // I need to pass the data to main view controller 
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 
      MainViewController *obj = [[MainViewController alloc]initWithNibName:@"MainViewController" bundle:nil]; 
      [self.navC pushViewController:obj animated:NO]; 
      [[NSNotificationCenter defaultCenter] postNotificationName:@"notifMainController" object:@"your string"]; 
     }); 

} 
else if(app.applicationState == UIApplicationStateActive) 
{ 
    NSLog(@"app running"); 
    // I need to pass the data to main view controller 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"notifMainController" object:@"your string"]; 
} 

} 

вы можете передать строку в [[NSNotificationCenter defaultCenter] postNotificationName:@"notifMainController" object:@"your string"];, как это в объекте. Возможно, это поможет вам.

+0

Как я могу отправить данные на контроллер третьего представления из Appdelegate. Я программно создал все в своем коде приложения. – Mano

+0

@Mano я написал весь код. Я добавил nsnotificationcenter и с помощью NSNotitification вы можете отправлять данные. прочитайте полностью ответ. –

+0

Хорошо ... Спасибо вам большое @ Chinttu – Mano

Смежные вопросы