Swift CHGTimer轻量级GCD定时器
Swift 的 GCD 定时器库——CHGTimer,用起来真是又轻便又省事儿。相比老派的 NSTimer
,它不受 RunLoop 限制,在主线程和后台线程都能愉快跑起来。你只要导入 CHGTimer
,一句话就能搞定周期任务。
像做轮播图、定时拉接口、游戏逻辑循环这些活儿,用 CHGTimer都挺合适。它的 API 直白,start()
、pause()
、resume()
、invalidate()
一应俱全,操作起来没有学习成本。
而且它还能指定在哪个 DispatchQueue
上执行任务,比如你想在主线程更新 UI,传个 DispatchQueue.main
就行,完全不用手动切线程。
还有一个好处,CHGTimer的回调不强引用 self
,用 [weak self]
配合闭包写起来也安全,不容易出 retain cycle,嗯,这点挺贴心。
,如果你在 Swift 里还在纠结怎么搞定稳定的定时任务,不妨试试 CHGTimer。你要是习惯用 NSTimer
的话,可以看看这个 NSTimer 示例对比下。
如果你想搞清楚 GCD 定时器的原理,也可以看看这个 Swift GCD DEMO,有实际代码跑起来会更直观。
实在找不到顺手的定时工具,CHGTimer这个库,用起来还真挺香的~
swift-CHGTimer-简单易用的GCD定时器.zip
预估大小:22个文件
CHGTimer-master
文件夹
.gitignore
1KB
README.md
1KB
LICENSE
11KB
CHGTimer
文件夹
CHGTimerTests
文件夹
CHGTimerTests.m
905B
Info.plist
701B
CHGTimer
文件夹
CHGTimer.h
1KB
22.79KB
文件大小:
评论区