2016-12-20 1 views
0

J'ai trois catégories de UILocalNotification - tous les dimanche, lundi et samedi Notifications.Comment obtenir une notification particulière compter le nombre

Comment obtenir la notification particulière, par exemple le numéro de compte déclenché le lundi. J'ai une notification UILocalNotification (pas de notification à distance ou push).

Comment puis-je compter le nombre de notifications de lundi qui sont déclenchées dans un délai de deux mois?

Remarque: Il n'y a pas de portée de notifications push ou à distance.

Répondre

2

Vous devrez gérer manuellement ceci, la façon dont je suggérerais de le faire en utilisant la méthode didReceiveLocalNotification de votre AppDelegate. Implémentez ceci et vérifiez la propriété fireDate de votre UILocalNotificationObject. Vous pouvez analyser ce soit un jour de la semaine en utilisant le code suivant:

int dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate]; 

Vous pouvez ensuite stocker incrémente cette valeur dans le NSUserDefaults en fonction du nombre que vous avez. 1 aura lieu le lundi 2 mardi, etc ...

long dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate]; 
long currentCount = [[NSUserDefaults standardUserDefaults] integerForKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]]; 
[[NSUserDefaults standardUserDefaults] setInteger:currentCount + 1 forKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]]; 

De cette façon, vous aurez toujours un total en cours d'exécution stockés dans votre NSUserDefaults et cela ne disparaîtra que si l'application est supprimée. La fonction didReceiveLocalNotification est déclenchée lorsque je tape sur le message de notification reçu.

+0

Si je n'ai pas ouvert la notification, alorsReceiveLocalNotification ne fonctionnera pas et le compte sera incompatible. – kiran

+0

Hmm dans ce cas, je pense que vous pourriez être coincé. Vous pouvez le faire avec des notifications à distance, mais vous avez déjà dit que vous n'aviez aucune possibilité pour cela. –

+0

vous avez raison Je n'ai pas de possibilité de notification push pour cela, y a-t-il une méthode qui se déclenche une fois que j'ai reçu le signal de notification sonne? – kiran