Je travaille sur une application qui définit un UILocalNotification. C'est la première fois que je l'utilise et j'aimerais avoir quelques explications pour l'utiliser efficacement et de la meilleure façon. Quel est le moyen le plus rapide de compter jusqu'à l'expiration de la notification? Je voudrais montrer à l'utilisateur un UILabel avec le temps manquant, ce UILabel mises à jour chaque seconde et quand je rouvre mon application, il doit montrer le minuteur. Je l'ai fait de cette façon: Lorsque je rouvre mon application ou le rappel de la vue qui doit afficher la minuterie, je vérifie s'il y a une UILocalNotification avec le userInfo que j'ai déjà défini puis je soustrais à son NSDate le l'heure actuelle, donc je reçois la différence, et mettre à jour le UILabel. Je sais que cela montre le temps en secondes mais si cette procédure est bonne, je la convertirai en temps.UILocalNotification affiche le compte à rebours au démarrage ou viewdidload
Existe-t-il un meilleur moyen de le faire?
Voici mon code:
UILocalNotification * countDownNotificationSetted;
NSArray *scheduledNotificationArray = [[UIApplication sharedApplication] scheduledLocalNotifications];
for (int i = 0; i<[scheduledNotificationArray count]; i++)
if ([[[[scheduledNotificationArray objectAtIndex:i] userInfo] objectForKey:@"ID"] isEqualToString:@"ParkNotification"]) {
countDownNotificationSetted = [scheduledNotificationArray objectAtIndex:i];
break;
}
NSDate *expringDate = [countDownNotificationSetted fireDate];
NSTimeInterval timeLeftToNotification = [expringDate timeIntervalSinceNow];
if(timeLeftToNotification == 0){
[countDownTimer invalidate];
}
datePicker.countDownDuration = timeLeftToNotification;
_countDownLabel.text = [NSString stringWithFormat:@"%.0f", timeLeftToNotification];
NSLog(@"%.0f", timeLeftToNotification);
Merci! Donc, je stocke sur un fichier une chaîne avec l'heure de la notification planifiée et puis soustrayez-y l'heure actuelle afin que j'obtienne l'heure manquante. Si je stocke la position de l'utilisateur quand il la notification, je peux le convertir dans un NSString, puis l'enregistrer sur le même fichier. Droite? – Cers
C'est exact. C'est aussi plus simple à faire. Heureux d'avoir pu aider. À votre santé! – George