LSTTimer 性能和精度兼得的iOS計(jì)時(shí)器組件

前言

  • 在項(xiàng)目開發(fā)中,計(jì)時(shí)器任務(wù)的需求很多, LSTTimer的出現(xiàn)就是為了更好統(tǒng)一管理項(xiàng)目中的計(jì)時(shí)器任務(wù).
  • 歡迎coder們發(fā)現(xiàn)問題或者提供更好的idea,一起努力完善

博客地址

實(shí)現(xiàn)思路

LSTTimer單例設(shè)計(jì), 內(nèi)部持有一個(gè)NSTimer和計(jì)時(shí)任務(wù)池, 所有的計(jì)時(shí)任務(wù)都被添加到任務(wù)池里面; NSTimer每100ms(毫秒)執(zhí)行一次遍歷計(jì)時(shí)任務(wù)池, 每個(gè)計(jì)時(shí)任務(wù)會(huì)進(jìn)行的時(shí)間差運(yùn)算.

特性

  • 提供豐富的api,簡(jiǎn)單入手使用
  • 單例設(shè)計(jì),安全且占用內(nèi)存少,統(tǒng)一管理app所有計(jì)時(shí)任務(wù)
  • 單計(jì)時(shí)器任務(wù)池設(shè)計(jì),一個(gè)NSTimer完成多個(gè)計(jì)時(shí)任務(wù)
  • 計(jì)時(shí)任務(wù)精確度:100ms(100毫秒)
  • 支持計(jì)時(shí)格式--> 天:時(shí):分:秒:毫秒
  • 支持硬盤持久化計(jì)時(shí)任務(wù)
  • 支持列表計(jì)時(shí)任務(wù)和各種花里胡哨的計(jì)時(shí)任務(wù)

版本更新歷史點(diǎn)我

安裝

  • CocoaPods安裝: 在podfile文件中添加以下描述,然后 pod install 或者 pod update

    pod 'LSTTimer'
    
  • Carthage安裝:(暫時(shí)未適配)

效果演示(gif圖比較大,請(qǐng)耐心等待~)

  • 應(yīng)用市場(chǎng)常用的示例場(chǎng)景
    • 支持 天:時(shí):分:秒:毫秒
    • 列表計(jì)時(shí)方案:只需一個(gè)計(jì)時(shí)任務(wù)
常用計(jì)時(shí)任務(wù)示例.gif

列表倒計(jì)時(shí).gif
  • 內(nèi)存計(jì)時(shí)任務(wù)
    (當(dāng)前頁面添加計(jì)時(shí)任務(wù),退出當(dāng)前頁面,計(jì)時(shí)任務(wù)不會(huì)停止,而是存在于app的整個(gè)生命周期內(nèi).當(dāng)然了,也可以手動(dòng)移除)
內(nèi)存計(jì)時(shí)任務(wù).gif
  • 硬盤計(jì)時(shí)任務(wù)
    (當(dāng)前頁面添加硬盤計(jì)時(shí)任務(wù),退出app,計(jì)時(shí)任務(wù)保存在硬盤,再次打開進(jìn)入app,如果計(jì)時(shí)任務(wù)沒有結(jié)束,繼續(xù)該計(jì)時(shí)任務(wù))
硬盤計(jì)時(shí)任務(wù).gif

作者

490790096@qq.com, LoSenTrad@163.com

版權(quán)

尊重勞動(dòng)成果, 人人有責(zé).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容