我正在使用计时器检查手表连接。我想在状态断开时发送通知。我的代码有效但每次重复时都会发送通知。我需要计时器继续运行,但只发送1个通知。我该怎么做呢?
Timer.scheduledTimer(withTimeInterval: 20, repeats: true) { timer in
if WCSession.default.isReachable {
print("Connected")
} else {
self.scheduleANotification()
print("Disconnected")
}
}
答案 0 :(得分:0)
向班级添加Bool
属性,以跟踪是否已设置通知。如果没有,请发送通知,然后设置标志。如果设置,请不要发送通知。
将此属性添加到您的班级:
var notificationSent = false
更新计时器块:
if WCSession.default.isReachable {
print("Connected")
} else {
if !notificationSent {
self.scheduleANotification()
notificationSent = true
}
print("Disconnected")
}