需求: 對UITableView中的每個Cell 加入一個倒計時器的顯示
readme : 如果只是想實現(xiàn)效果,這篇就夠了,原理放在下一篇,有興趣的可以繼續(xù)關(guān)注
如何使用: http://www.reibang.com/p/5b4e0286658a
代碼介紹篇]:http://www.reibang.com/p/85909aabf058
github下載地址: https://github.com/zhYes/YSTimeCountDown
- 前言
翻閱了資料,看了好多demo,也咨詢過各路大神,找到的大部分答案都是直接調(diào)用本地
[NSDate date]
方法獲取當(dāng)前設(shè)備當(dāng)前時間,如此,設(shè)備時間一旦發(fā)生偏差,將影響整個倒計時的不準確,所以決定自己寫一個,并進行了封裝,在此加入了服務(wù)器的返回當(dāng)前時間.
- 主要特點 :
- GCD倒計時不用關(guān)心 "線程 | 模式" 這些問題
- 一個倒計時管理表格中全部倒計時時間;
- 即使手機本地時間任意調(diào)整,也不會影響倒計時出現(xiàn)偏差;
- 滾動不會影響倒計時的運行
- 600行倒計時無卡頓,無大內(nèi)存消耗
原理簡介 : 利用服務(wù)器返回的無誤差的當(dāng)前時間與當(dāng)前設(shè)備的時間做差,調(diào)整結(jié)束時間,從而實時調(diào)整倒計時的精確性.
效果展示 :
-
效果1:
即使600行數(shù)據(jù)倒計時內(nèi)存也不會飆升
內(nèi)存同步效果觀察 效果2: 修改本地時間也不會影響到倒計時的準確性
就是這個軟件錄制的時候的時間居然跟 系統(tǒng)時間有關(guān)系!
所以我每次錄制的時候,調(diào)整完系統(tǒng)時間這家話就莫名其妙的掛了!
所以這里只是調(diào)整了分鐘,反復(fù)錄制調(diào)整了10多次 .. ??
問題: 看到一半你可能大叫 騙子!!調(diào)整完系統(tǒng)時間明顯時間不對了!!
解釋: 這里用的模擬器所以調(diào)整電腦上的時間模擬手機上的時間更改,正真在手機上運行的時候是必須切APP到后臺 再調(diào)整系統(tǒng)時間 ,當(dāng)APP再次調(diào)整到前臺時間是正確的!所以完全不會影響.
如何使用( 4步即可)
-
導(dǎo)入模型類文件,并導(dǎo)入頭文件
1.導(dǎo)入模型類文件,并導(dǎo)入頭文件
2.進行初始化
只需要傳入當(dāng)前的tableView 和 結(jié)束時間戳 兩個參數(shù) 即可
3.為cell設(shè)置tag
4.銷毀
========= 使用 ======= 搞定 =========================
對于大神來說應(yīng)該是小兒科了但是自己寫出來確實還有點小激動希望對你有幫助.??