Я искал, прежде чем задавать вопрос, но ничего не нашел. Я использую этот код, чтобы запланировать уведомления в моем приложении:Получение UILocalNotification после добавления в Swift
let firstFormatter = NSDateFormatter()
firstFormatter.dateFormat = "MMMM, dd, HH:mm"
let date = "\(dueDateTxtField.text) \(notificationTimeTxtField.text)"
let fireDate = firstFormatter.dateFromString(date)
let realNotification = UILocalNotification()
realNotification.fireDate = fireDate
realNotification.soundName = UILocalNotificationDefaultSoundName
realNotification.alertTitle = "Homework reminder"
realNotification.alertBody = "You have a pending \(subjectTxtField.text) homework for tomorrow."
let secondFormatter = NSDateFormatter()
secondFormatter.dateFormat = "yyyy"
let falseNotification = UILocalNotification()
falseNotification.fireDate = secondFormatter.dateFromString("2020")
falseNotification.soundName = UILocalNotificationDefaultSoundName
falseNotification.alertTitle = "This notification will never get to you"
falseNotification.alertBody = "Never"
if notifyMeSegmentedControl.selectedSegmentIndex == 0 {
UIApplication.sharedApplication().scheduleLocalNotification(realNotification)
} else {
UIApplication.sharedApplication().scheduleLocalNotification(falseNotification)
}
Я использую UISegmentedControl, так что пользователь может выбрать, чтобы получить или не уведомление. Дело в том, что, как только я добавляю новую домашнюю работу (приложение - домашнее приложение, где вы добавляете тему, описание и т. Д.), Я уже получаю уведомление, даже если я установил «notificationTimeTxtField» на время, не сейчас.
Пожалуйста, расскажите мне, что я делаю неправильно. Спасибо заранее!
РЕДАКТИРОВАТЬ: Я ДОЛЖЕН ПРИМЕНИТЬ ПОЖАРНУЮ ДАТУ И ИСПОЛЬЗОВАТЬ НИЛЬ !! Я понятия не имею, почему в текстовых полях есть текст!
Когда вы печатаете дату своего огня в консоли, это дата в будущем? Кроме того, для случая, когда пользователь не хочет получать уведомление, возможно, захочет использовать UIApplication.sharedApplication(). CancelAllLocalNotifications() –
Я пробовал это сейчас и его печать нуль !!! Как это возможно? –
Вы не форматируете строку правильно, чтобы конвертировать дату. Что такое DueTextField и notificationTimeTextField? Отформатированы ли они точно так же, как ваш формат даты –