let duration = 10
self.configureTimer(startTime: Date(), duration: duration)
self.countdownTimer.start()

使用上面的代码,如何在以下两种方法之间每30秒切换一次执行:
func first30Seconds() { }
func next30Seconds() { }

基本上,我正在尝试在计时器滴答的每30秒之间在上述两种方法first30Secondsnext30Seconds之间切换。非常感谢您的帮助。

最佳答案

通过以下方式跟踪计时器实例:

var timer: Timer!

然后更新两个函数以在30秒后调用另一个函数:
func first30Seconds() {
    timer = Timer.scheduledTimer(timeInterval: 30, target: self, selector: #selector(second30Seconds), userInfo:nil, repeats: false)
    // Other code...
}
func second30Seconds() {
    timer = Timer.scheduledTimer(timeInterval: 30, target: self, selector: #selector(first30Seconds), userInfo:nil, repeats: false)
    // Other code...
}

09-30 14:25