我想每天午夜更新状态。但是计时器是间隔的。我该如何设置白天的间隔
var timer = Timer()
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)
// called every time interval from the timer
func timerAction() {
}
答案 0 :(得分:2)
无需计时器。观察通知
static let NSCalendarDayChanged: NSNotification.Name
每当系统日历日发生变化时发布,由系统日历,区域设置和时区决定。此通知不提供对象。
如果当天发生变化时设备处于睡眠状态,则此通知将在唤醒时发布。如果设备已经睡了好几天,只有一个通知会在唤醒时发布。
NotificationCenter.default.addObserver(self, selector:#selector(calendarDayDidChange), name:.NSCalendarDayChanged, object:nil)
...
func calendarDayDidChange()
{
// do something at midnight
}