我正在创建一个应用程序,用户可以同时使用多个计时器并在列表视图中查看它们。
我知道有两个主要的时间选择:
或
我以前一直在使用后者,但是在浏览互联网时我开始认为数据可能更好。
请您告诉我您认为最适合使用的内容,如果您选择了第一个(日期),请提供一些有关如何使用它的示例代码。
答案 0 :(得分:1)
你们两个都使用。你有一个Timer
每秒重复一次。 Timer
的处理程序然后遍历每个用户计时器的开始日期列表,并根据当前日期更新每个计时器的显示。
答案 1 :(得分:-1)
您可以使用NSTimer,每秒从每个活动计时器中取走1秒钟。你可以使用这个类。
class CustomTimer {
typealias Update = (Int)->Void
var timer:Timer?
var count: Int = 0
var update: Update?
init(update:@escaping Update){
self.update = update
}
func start(){
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerUpdate), userInfo: nil, repeats: true)
}
func stop(){
if let timer = timer {
timer.invalidate()
}
}
/**
* This method must be in the public or scope
*/
@objc func timerUpdate() {
count += 1;
if let update = update {
update(count)
}
}
}
要使用多个计时器,您可以创建多个CustomTimer实例,示例代码:
let timer1 = CustomTimer { (seconds) in
// do whatever you want
}
timer1.start()
let timer2 = CustomTimer { (seconds) in
// do whatever you want
}
timer2.start()
注意:强>
timerUpdate方法将以1秒的间隔精确调用。为了保留一些执行功能的空间,我们可以根据执行时间将间隔设置为0.9或0.95。