Я делаю приложение-напоминание, в котором вы можете запланировать напоминание, которое затем будет повторяться каждые x секунд/минут/часов/дней и т. д.
Если я хочу, чтобы это повторялось каждые x раз, я могу сделать это так:
func addNotification() {
let content = UNMutableNotificationContent()
content.title = "title"
// show this notification 5 minutes from now
var trigger: UNTimeIntervalNotificationTrigger
trigger = UNTimeIntervalNotificationTrigger(timeInterval: 300, repeats: true)
// choose a random identifier
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
// add our notification request
UNUserNotificationCenter.current().add(request)
}
По сути, это то, что я хочу, но вместо того, чтобы начинать через 5 минут, я хочу иметь возможность выбрать дату начала, а затем повторять ее каждые 5 минут с этой начальной даты начала.
Это возможно?
Timer
, настройте его интервал и повторяемость и добавьте его в основной цикл выполнения приложения. Вы также захотите рассмотреть возможность обработки событий, когда приложение входит в фоновый режим и выходит из него, поскольку таймер не останавливается и не приостанавливается. - person acidgate   schedule 28.10.2020repeats
наtrue
, минимальное значениеtimeInterval
составит 1 минуту (60 секунд). - person Leo Dabus   schedule 28.10.2020