0

我正在尝试重置 aUNTimeIntervalNotificationTrigger以多次发送通知。我尝试了一些事情,包括:

-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
}
4

1 回答 1

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
}
于 2017-04-13T14:21:41.547 回答