我尝试重置UNTimeIntervalNotificationTrigger
以多次发送通知。我尝试过一些事情,包括:
-Set repeats: true
- >这会以某种方式崩溃我的应用程序,给我错误thread 1 signal sigabrt
现在代码的问题(见下文)是我收到错误:Use of unresolved identifier 'trigger'
。现在据我所知,这个错误告诉我,我不能使用触发器,因为它设置在一个按钮'功能'它无法找到let trigger
。
问题:如何使函数resetTimer看到trigger
?或者有更好的方法来重置UNTimeIntervalNotificationTrigger吗?
@IBAction func change(_ sender: Any) {
func startTimer() {
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false)
let request = UNNotificationRequest(identifier: bezigheid, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
}
func resetTimer() {
trigger.invalidate
}
答案 0 :(得分:0)
首先,这段代码完全不正确。
将函数放在@IBActions中是没有意义的。
这样做:
@IBAction func startTimer(_ sender: Any) {
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false)
let request = UNNotificationRequest(identifier: bezigheid, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
@IBAction func resetTimer(_ sender: Any) {
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false)
trigger.invalidate
}