Быстрое локальное уведомление с динамическим телом оповещения

Так что я могу создать локальное уведомление, как это

    var localNotification = UILocalNotification()
    localNotification.fireDate = NSDate(timeIntervalSinceNow: 7)
    localNotification.alertBody = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .ShortStyle)
    localNotification.timeZone = NSTimeZone.defaultTimeZone()
    localNotification.repeatInterval = NSCalendarUnit.CalendarUnitMinute
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

Это создает уведомление с датой прямо сейчас, а затем начинает снимать его каждую минуту на вечность. Если время создания уведомления - 5 часов вечера, то каждый раз, когда оно срабатывает, будет появляться 5 часов вечера, даже если через 30 минут время будет 5:30.

Что мне нужно сделать, чтобы тело оповещения было динамичным?

Я прочитал в документах, что она ожидает строку для alertBody, поэтому у меня возникли проблемы при попытке выяснить, как задать тело сообщения с помощью вызова функции, отметки времени или значения, которое изменяется.

https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/

По сути, я хочу, чтобы мое приложение вычисляло значение во время запуска уведомления, а не во время его установки, чтобы создать сообщение. Пример о использует уведомление каждую минуту для симптомов, чтобы вы могли увидеть этот код в действии. В реальном приложении я хочу запускать ежедневное уведомление в заранее установленное время. Например, один раз в день в 7 утра и рассчитать значение в это время.

1 ответ

Решение

Вы не можете сделать это динамичным. Вам потребуются отдельные уведомления с отдельным текстом для каждого отдельного времени.

Другие вопросы по тегам