LSTTimer 性能和精度兼得的iOS计时器组件
前言
- 在项目开发中,计时器任务的需求很多,LSTTimer 的出现就是为了更好地统一管理项目中的计时器任务。
- 欢迎码农们发现问题或者提供更好的想法,一起努力完善。
博客地址
实现思路
LSTTimer 单例设计,内部持有一个 NSTimer 和计时任务池;所有的计时任务都被添加到任务池里面;NSTimer 每 100ms(毫秒)执行一次遍历计时任务池,每个计时任务会进行的时间差运算。
特性
- 提供丰富的 API,易于上手使用
- 单例设计,安全且内存占用少,统一管理 App 所有计时任务
- 单计时器任务池设计,一个 NSTimer 完成多个计时任务
- 计时任务精确度:100ms(100 毫秒)
- 支持计时格式--> 天:时:分:秒:毫秒
- 支持硬盘持久化计时任务
- 支持列表计时任务和各种花哨的计时任务
点我
版本更新历史安装
-
CocoaPods安装: 在podfile文件中添加以下描述,然后
pod install
或者pod update
pod 'LSTTimer'
-
Carthage安装:(暂时未适配)
效果演示(gif图比较大,请耐心等待~)
- 应用市场常用的示例场景
- 支持 天:时:分:秒:毫秒
- 列表计时方案:只需一个计时任务
常用示例场景![]() |
列表倒计时![]() |
---|
- 内存计时任务 (当前页面添加计时任务,退出当前页面,计时任务不会停止,而是存在于app的整个生命周期内.当然了,也可以手动移除)
内存计时任务![]() |
---|
- 硬盘计时任务
(当前页面添加硬盘计时任务,退出app,计时任务保存在硬盘,再次打开进入app,如果计时任务没有结束,继续该计时任务)
自动规避键盘遮挡![]() |
---|
作者
[email protected], [email protected]
版权
尊重劳动成果,人人有责.