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这个库,用起来还真挺香的~

zip
swift-CHGTimer-简单易用的GCD定时器.zip 预估大小:22个文件
folder
CHGTimer-master 文件夹
file
.gitignore 1KB
file
README.md 1KB
file
LICENSE 11KB
folder
CHGTimer 文件夹
folder
CHGTimerTests 文件夹
file
CHGTimerTests.m 905B
file
Info.plist 701B
folder
CHGTimer 文件夹
file
CHGTimer.h 1KB
file
AppDelegate.h 280B
file
ViewController.h 218B
folder
Base.lproj 文件夹
file
Main.storyboard 3KB
file
LaunchScreen.storyboard 2KB
folder
Assets.xcassets 文件夹
file
Contents.json 62B
folder
AppIcon.appiconset 文件夹
file
Contents.json 2KB
file
main.m 337B
file
Info.plist 1KB
file
AppDelegate.m 2KB
file
ViewController.m 1KB
file
CHGTimer.m 3KB
folder
CHGTimerUITests 文件夹
file
CHGTimerUITests.m 1KB
file
Info.plist 701B
folder
CHGTimer.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 153B
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
project.pbxproj 22KB
zip 文件大小:22.79KB