我正在尝试更新UI上的倒计时计时器,它以分钟为单位倒计时,所以我需要更新它 * 每一分钟的开始 *,这与每分钟更新不一样。我目前的解决方案是初始化一个定时器,每十分之一秒调用一次updateUI()
函数,这远非理想:timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector:#selector(TimesViewController.updateUI), userInfo: nil, repeats: true)
有没有一种方法可以在每一分钟开始时调用该函数?
2条答案
按热度按时间j13ufse21#
创建计时器,每秒检查系统日期。比如说;
vm0i2vca2#
如果你想精确到每分钟只触发一次计时器...
将此扩展添加到
Calendar
以计算下一分钟的开始:然后像这样设置
Timer
:注:当不再需要
Timer
时,请确保调用timer?.invalidate()
以防止计时器再次触发,并将其从RunLoop
中删除。在deint
所属的类中可以很好地执行此操作: