2012-06-17 63 views
0

以前,我曾參與過本地通知,但現在我遇到了問題。假設今天,我必須在我的應用程序的日期前一天設置通知:2012年7月7日。我怎樣才能做到這一點。我設置的通知這樣的..iphone中的本地通知

- (IBAction) scheduleNotification:(id) sender { 

    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSDateFormatter *formatter = [[[NSDateFormatter alloc]init]autorelease]; 

    for (int i = 0; i< [delegate.viewController.contactList count] ; i++) { 
     UILocalNotification *localNotification = [prototypeNotification copy]; 
     NSString *name = [[delegate.viewController.contactList objectAtIndex:i]objectForKey:NAME_KEY]; 
     NSString *birthday = [[delegate.viewController.contactList objectAtIndex:i]objectForKey:BIRTHDAY_KEY]; 
     if (birthday) { 
      [formatter setDateFormat:@"MM/dd/yyyy"]; 
      NSDate *date = [formatter dateFromString:birthday]; 
      if (date == nil) { 
       [formatter setDateFormat:@"MM/dd"]; 
       NSDate *date = [formatter dateFromString:birthday]; 
      } 
      else { 

      } 
      self.alarmTime = [date dateByAddingTimeInterval:10]; 
      localNotification.fireDate = alarmTime; 
      localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
      localNotification.applicationIconBadgeNumber = 1; 

      NSString *itemName = @"B'day Alert!!!"; 
      NSString *msgName = [NSString stringWithFormat:@"Celebrate %@'s B'day",name]; 
      NSDictionary *userDict = [NSDictionary dictionaryWithObjectsAndKeys:itemName,MessageKey, msgName,TitleKey, nil]; 
      localNotification.userInfo = userDict; 
      localNotification.soundName = self.soundName; 
      // Schedule the notification 
      [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

     } 

     else { 
//   write else part 
     } 
     [localNotification release]; 
    } 

} 

當我遇到NSDate *date = [formatter dateFromString:birthday];這條線,日期不來準確,所以我不能夠正確設置本地通知。如果有任何事情做錯了,請幫助我。

回答