UILocalNotification avec divers corps d'alerte

Comment puis-je répéter UILocalNotification avec divers corps d'alerte?

Par exemple:

UILocalNotification *notif = [[UILocalNotification alloc] init]; notif.alertBody = @"Hello"; notif.repeatInterval = NSDayCalendarUnit; [[UIApplication sharedApplication] scheduleLocalNotification:notif]; 

En utilisant ce code, la notification sera répétée tous les jours, comment puis-je répéter la notification quotidiennement avec un corps d'alerte différent chaque jour?

Merci.

Vous pouvez implémenter l' application:didReceiveLocalNotification méthode application:didReceiveLocalNotification dans AppDelegate et augmenter une variable 'countur de jour'. Ensuite, planifiez une nouvelle UILocalNotification avec un tableau de strings pour le corps d'alerte de votre notification. Utilisez le countur de jour pour get une string mise à jour. Voici un exemple de code:

Dans votre AppDelegate.h:

 @property (assign, nonatomic) int dayCount; 

Dans votre AppDelegate.m:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [self scheduleLocalNotification]; return YES; } -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{ self.dayCount++; [self scheduleLocalNotification]; } -(void)scheduleLocalNotification{ NSArray *notifTextArray = [NSArray arrayWithObjects:@"Hello", @"Welcome", @"Hi there", nil]; UILocalNotification *notif = [[UILocalNotification alloc] init]; if(self.dayCount < notifTextArray.count){ notif.alertBody = [notifTextArray objectAtIndex:self.dayCount]; } else{ self.dayCount = 0; notif.alertBody = [notifTextArray objectAtIndex:self.dayCount]; } notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:86400]; //86400 seconds in a day [[UIApplication sharedApplication] scheduleLocalNotification:notif]; } 

Juste une option, mais j'espère que cela aidera.

Une fois que vous avez planifié une notification locale, vous ne pouvez pas modifier les propriétés de la notification et le corps de l'alerte.

Vous devrez peut-être annuler l'ancienne notification et en replanifier une nouvelle pour y parvenir.