方式1
var timer = Timer.scheduledTimer(timeInterval: TimeInterval(curTimeInterval), target: self, selector:#selector(self.xxx), userInfo: nil, repeats: true)
方式2
var timer = Timer(timeInterval: TimeInterval(curTimeInterval), target: self, selector: #selector(self.animate), userInfo: nil, repeats: true)
RunLoop.current.add(timer, forMode: .common)
timer?.fire()
这种定时器的创建需要使用 fire 来启动定时器。否则,该定时器不起作用。如果定时器不添加到 RunLoop 中,在重复模式下定时器只执行一次。
- 设置runloop mode
RunLoop.current.add(timer, forMode: .common)
- 取消定时器timer
if timer != nil {
timer?.invalidate();
timer = nil;
}