2012-10-12 15 views
0

我将从服务器到会议日期的列表下拉到我的应用程序。我解析了所有这些内容,并将它们保存为NSDates。NSDates列表中的应用内警报

它更容易给出一个使用案例:

  1. 用户拉下来的会议日期
  2. 用户导航到应用的其他部分
  3. 如果是15分钟,直到相应的会议时间,显示一个警告在他们的任何看法。

我有以上所有的工作,除了通知应用程序的时间即将开始的方法。

我猜这是NSNotificationCenter的最佳时机。

所以我的问题是,如果我有一个NSDates的数组,如何不断监测,如果有15人离开?

+1

有大约10种不同的方式来做到这一点。本地通知是一种可能性,或者简单地在您的应用程序中设置一个计时器队列。 –

回答

0

使用下面的代码安排的通知: 只要给firedate =(date_saved-15分钟)

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 

    if (localNotif == nil) 
     return FALSE; 

    localNotif.fireDate = fireDate; 
    localNotif.repeatInterval = repeatInterval; 
    localNotif.timeZone = [NSTimeZone defaultTimeZone]; 

    localNotif.alertBody = @"Meeting"; 

    // Set the action button 
    localNotif.hasAction = YES; 

    localNotif.alertAction = NSLocalizedString(@"Show",nil); 

    localNotif.soundName = UILocalNotificationDefaultSoundName; 

    localNotif.applicationIconBadgeNumber = 1; 


    /* SCHEDULE NOTIFICATION */ 
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 

就此别过申报appdelegate.h和拦截通知物业localNotification然后象下面这样:

UILocalNotification *localNotification; 
@property (nonatomic, retain) UILocalNotification *localNotification; 
@synthesize localNotification; 


- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { 

    self.localNotification = notification; 
    NSLog(@"NOTIFICATION - DID RECEIVE"); 
} 


- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    if (self.localNotification) 
    { 
     // Do whatever you want 
    } 
} 
+0

我想我应该指定,我推出了我自己的通知视图,以便需要通知而不是UILocalNotification。 – random

+1

@random - 你可以有一个方法关闭你的应用程序代理拦截本地通知,并按照你的意愿行事。 –

+0

@HotLicks你的权利。不知道为什么我没有想到这一点。 +1 – random