gpt4 book ai didi

swift - DateComponents 和通知未显示

转载 作者:行者123 更新时间:2023-11-28 15:25:08 25 4
gpt4 key购买 nike

我制作了一个待办事项列表应用程序。在应用程序中,用户可以选择 4 个按钮之一来设置通知。立即,上午,下午和晚上。目前,晚上和即时工作但早上和下午不工作,我不确定为什么。

这是我晚上的代码:

@IBAction func eveningTapped(_ sender: Any) {

eveningEnabled = true
morningEnabled = false
lockscreenEnabled = false
afternoonEnabled = false
}

if eveningEnabled == true {
var dateComponents = DateComponents()
dateComponents.hour = 18
dateComponents.minute = 00
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
let content = UNMutableNotificationContent()
content.title = taskTextField.text!
content.body = DescTextField.text!
content.sound = UNNotificationSound.default()
content.badge = 1

let identifier = "UYLLocalNotification"
let request = UNNotificationRequest(identifier: identifier,
content: content, trigger: trigger)
center.add(request, withCompletionHandler: { (error) in
if error != nil {
// Something went wrong - another alert
}
})
}

这完全可以正常工作,但早上不工作,这是代码:

@IBAction func morningTapped(_ sender: Any) {

morningEnabled = true
lockscreenEnabled = false
afternoonEnabled = false
eveningEnabled = false
}

if morningEnabled == true {
var dateComponents = DateComponents()
dateComponents.hour = 07
dateComponents.minute = 00
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
let content = UNMutableNotificationContent()
content.title = taskTextField.text!
content.body = DescTextField.text!
content.sound = UNNotificationSound.default()
content.badge = 1

let identifier = "UYLLocalNotification"
let request = UNNotificationRequest(identifier: identifier,
content: content, trigger: trigger)
center.add(request, withCompletionHandler: { (error) in
if error != nil {
// Something went wrong - another alert
}
})
}

最佳答案

由于您的代码在两个操作中完全相同(DateComponents 除外),因此运行时应该没有区别。

但是由于您有不同('morning' 不起作用),原因必须在其他地方(而不是在您在此处发布的代码中)。也许您早上的 tapAction 在 InterfaceBuilder 中没有正确连接?

如果您愿意发布更多代码,我们可能会更好地帮助查找错误。

首先,当您点击时,您应该检查您的 tapAction 是否正在执行。您可以通过添加日志命令来执行此操作,如下所示:

print("Morning was tapped")

并将此代码放入您的 tapAction 中。然后你应该在你的日志控制台上得到这个日志,点击相应的按钮后。

关于swift - DateComponents 和通知未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com