Je n'arrive pas à planifier les notifications locales dans une boucle for qui planifie plusieurs notifications. Par exemple, la fonction prend dans une variable appelée repetition
qui est un tableau de jours de la semaine, dans le but de planifier une notification chaque jour de la semaine dans le tableau. Le problème est que les notifications sont déclenchées lorsqu'il n'y a qu'un seul jour de semaine et qu'une seule notification planifiée. Aucune notification n'est déclenchée lorsqu'il y a plus d'un élément dans le tableau. Voici la fonction complète pour plus de clarté:Planification des notifications locales à l'intérieur de la boucle for
func scheduleNotification(at date: Date, every repetition: [String], withName name: String, id: String) {
print("Scheduling notifications for the following days: \(repetition) \n \n")
var components = DateComponents()
let calendar = Calendar.current
let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)
components.hour = hour
components.minute = minutes
for rep in repetition {
switch rep {
case "Sunday" : components.weekday = 1
case "Monday" : components.weekday = 2
case "Tuesday" : components.weekday = 3
case "Wednesday": components.weekday = 4
case "Thursday" : components.weekday = 5
case "Friday" : components.weekday = 6
case "Saturday" : components.weekday = 7
default:
break
}
let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: true)
let content = UNMutableNotificationContent()
content.title = name
content.body = "Let's go!"
content.sound = UNNotificationSound.default()
let request = UNNotificationRequest(identifier: id, content: content, trigger: trigger)
print("Added notification request for \(request.trigger?.description) \n")
UNUserNotificationCenter.current().add(request) {(error) in
if let error = error {
print("Uh oh! We had an error: \(error)")
}
}
}
}
résultats du journal d'impression
Ce bouton déclenche une notification à l'heure prévue:
Cela ne se déclenche pas une notification au heure prévue:
J'avais regardé autour pendant des siècles essayant de comprendre quel était mon problème, parce que je faisais exactement la même chose. Tu as sauvé mon monde !!! – bhakti123