2

我有一个 iPhone 应用程序,当用户当前未使用该应用程序时它会接收通知。当用户单击通知时,由于打开通知而打开应用程序时,他们应该被带到一个新视图。

我将用于从通知中传递我的信息的 App Delegate 中的委托方法是:

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

//Pass my data from JSON Payload in here

//Tell current view to go to new view

}

我相信对用户在退出应用程序之前与之交互的最后一个视图控制器的引用将是一种处理它并将对象存储在NSUserDefaults.

任何关于我如何实现这一点的建议将不胜感激。

4

1 回答 1

0

尝试使用 NSNotificationCenter :) 在应该完成推送的位置注册一个观察者,并从您的 appdelegate 发出通知。查看本教程以进行注册和开火;)

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

    //Pass my data from JSON Payload in here
    NSObject *obj = myInformationForTheReciever;
    [[NSNotificationCenter defaultCenter] postNotificationName:@"goToView" object:obj];
}

-

// MyViewController
-(void)viewDidLoad
{
    [super viewDidLoad];
    // do your stuff

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

- (void)goToView:(NSNotification*)notification
{
    NSObject* myInformationForTheReciever = [notification object];
    // do stuff with that
}
于 2013-05-08T14:31:24.617 回答