在Swift中添加后接收UILocalNotification

时间:2016-03-19 21:45:25

标签: swift uilocalnotification uisegmentedcontrol

我在问这个问题之前已经搜索过,但一无所获。我正在使用此代码在我的应用中安排通知:

    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”设置为一个时间不是现在。

请告诉我我做错了什么。 提前谢谢!

编辑:我已经尝试打开火灾日期并且它没有打!!我不明白为什么,文本字段中有文字!

1 个答案:

答案 0 :(得分:0)

我修好了。问题是dueDateTxtField的格式如下:“MMMM,dd,yyyy”,我试图将其格式化为“MMMM,dd”。所以我通过使用相同的格式格式化它来修复它并且它完美地工作。