2016-12-20 6 views
0

Ich habe drei Kategorien von UILocalNotification - jeden Sonntag, Montag und Samstag Benachrichtigungen.So erhalten Sie bestimmte Benachrichtigung Zählnummer

Wie die bestimmte Benachrichtigung erhalten, d. H. Montag ausgelöst Anzahl. Ich habe eine Benachrichtigung UILocalNotification (keine Remote- oder Push-Benachrichtigung).

Wie bekomme ich die Benachrichtigung vom Montag, die innerhalb von zwei Monaten ausgelöst wird?

Hinweis: Es gibt keinen Bereich für Push- oder Remote-Benachrichtigungen.

Antwort

2

Sie müssten dies manuell verwalten, so wie ich es vorschlagen würde, indem Sie die didReceiveLocalNotification Methode Ihres AppDelegate verwenden. Implementieren Sie dies und überprüfen Sie dann die fireDate Eigenschaft Ihres UILocalNotificationObject. Sie können analysieren dies ein Tag der Woche zu sein, durch den folgenden Code:

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

Sie können dann diesen Wert in der auf der Anzahl basiert NSUserDefaults speichern erhöhen Sie haben. 1 wird Montag, 2 Dienstag 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]]; 

diese Weise können Sie immer eine laufende Summe in Ihrem NSUserDefaults gespeichert werden, und dies wird nur verschwinden, wenn die App gelöscht.

+0

didReciveLocalNotification wird ausgelöst, wenn ich auf die empfangene Benachrichtigung klicke. Wenn ich die Benachrichtigung nicht geöffnet habe, funktioniert didReceiveLocalNotification nicht und die Zählung stimmt nicht überein. – kiran

+0

Hmm in diesem Fall denke ich, dass Sie vielleicht stecken bleiben. Sie können es mit Remote-Benachrichtigungen sicher tun, aber Sie haben bereits gesagt, dass Sie keinen Spielraum dafür haben. –

+0

Sie sind richtig Ich habe keinen Spielraum für Push-Benachrichtigungen dafür, gibt es irgendeine Methode, die ausgelöst wird, sobald ich die Benachrichtigung Bill Ringe erhalten habe? – kiran

Verwandte Themen