Ich mache derzeit eine App, die die Schritte zählt und mit Ziel überprüfen und lokalen Benachrichtigung freigeben, wenn erfüllt. Ich habe die lokale Benachrichtigung eingerichtet, aber ich möchte das in diesem Moment nur einmal auslösen. Ich habe dies durch dispatch_once_t arbeiten:iOS Local Notification Trigger Handhabung
if stepsData >= stepsGoalData {
let localNotification = UILocalNotification()
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
localNotification.fireDate = NSDate()
localNotification.alertBody = "Acheived"
localNotification.soundName = UILocalNotificationDefaultSoundName
}
Aber für den Fall, wenn der Benutzer die stepsGoalData erhöht, zur Zeit der Code nicht die Benachrichtigung auslösen. Kann mir bitte jemand eine Idee geben, mit diesem Fall umzugehen? Vielen Dank!
Warum haben Sie die 'dispatch_once' hinzugefügt? Welches Problem hat es genau gelöst? – Wain
Momentan ist mir aufgefallen, genau zwei Werte zu vergleichen, bei denen Pedometerdaten nicht möglich waren. Also musste ich> = verwenden, um die Daten zu vergleichen, und wenn ich nicht dispatch_once hinzufügte, erzeugte es fortwährend Benachrichtigungen und benutzte es nur einmal, was mein Ziel war. Ich denke, es könnte einen besseren Weg geben, um dies auch zu handhaben, aber auf der Suche konnte ich keinen finden :( – Alakh
Sie müssen die letzte Bearbeitung auf Ihre Frage zurückstellen, da es jetzt keinen Sinn macht ... – Wain