2014-11-23 109 views
0

我處理在下面的方法我推送通知的應用程序委託:發送推送通知文本的UITableView

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    [PFPush handlePush:userInfo]; 
    NSString *pushtext = [userInfo objectForKey:@"alert"]; 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"News", "") 
                message:pushtext 
                delegate:nil 
              cancelButtonTitle:@"Ok" 
              otherButtonTitles: nil]; 
    [alert show]; 



} 

正如你所看到的,我在顯示一個UIAlertView中的通知。除此之外,我希望能夠將最近收到的5個通知「保存」到UITableview中供用戶在以後查看。

我怎麼會一)把數據傳送到一個UITableView和b)保存數據,以便以後觀看(可能通過NSUserDefaults的?)

回答

0

檢索當前的推送通知的文本在AppDelegate中,並將其添加到一個數組。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

[...] 

{ 
    NSMutableArray *alertTextArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"alertTextArray"]; 
     NSDictionary *notifKey = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]; 

    if (notifKey) 
    { 
     [alertTextArray addObject:[notifKey objectForKey:@"alert"]]; 
    } 

[...] 

} 

...這是你如何可以將其保存以供日後使用:

[[NSUserDefaults standardUserDefaults] setObject:alertTextArray forKey:@"alertTextArray"]; 
[defaults synchronize]; 
+0

我怎能將檢索的NSUserDefaults的最近5個警報?以及如何在UITableview中顯示其各自行中的每個警報 – scb998 2014-11-23 23:19:12