收到本地通知时的当前视图

时间:2011-11-28 18:27:29

标签: iphone notifications uilocalnotification

使用iOS 5和故事板,当用户在收到本地通知后进入应用程序时,呈现视图的最佳方式是什么?

我已经读过使用NSNotificationCenter是这样做的方式,但故事板和赛段也是如此吗?

1 个答案:

答案 0 :(得分:3)

这正是我实施它的方式。在AppDelegate的didFinishLaunchingWithOptions:方法中,我做了以下内容:

   UILocalNotification *notification = 
   [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
   [self application:application didReceiveLocalNotification:notification];

我这样做是为了让我可以将逻辑保存在一个地方。在didreceiveLocalNotification:方法中,我然后使用了NSNotificationCenter:

    // Let another view handle the display        
    NSNotificationCenter * nc = [NSNotificationCenter defaultCenter];
    [nc postNotificationName:@"SHOW_VERSE" 
                      object:self 
                    userInfo:notification.userInfo];

处理显示的视图是Storyboard的第一个UIViewController。在该类中,在viewDidLoad方法中:

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

这对我很有用。希望它有所帮助。