- 三种方法
- Timer
- GCD
- Combine
Timer 定时器
生成了一个 Timer 并开启它,不需要其他操作
Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { timer in
print("执行定时任务")
}
一般我会在 deinit 析构函数中将它销毁,避免内存泄漏
deinit {
timer?.invalidate()
}
也可以自己创建 Timer 对象,然后把它绑定到 Runloop 中
let timer = Timer(timeInterval: 1, repeats: true, block: { timer in
print("我还活着")
})
RunLoop.current.add(timer, forMode: .common)
RunLoop.current.run(mode: .common, before: Date.distantFuture)
GCD
挖坑
Combine
挖坑