需求: 对UITableView中的每个Cell 加入一个倒计时器的显示
readme : 如果只是想实现效果,这篇就够了,原理放在下一篇,有兴趣的可以继续关注
如何使用: http://www.jianshu.com/p/5b4e0286658a
代码介绍篇]:http://www.jianshu.com/p/85909aabf058
github下载地址: https://github.com/zhYes/YSTimeCountDown
- 前言
翻阅了资料,看了好多demo,也咨询过各路大神,找到的大部分答案都是直接调用本地
[NSDate date]
方法获取当前设备当前时间,如此,设备时间一旦发生偏差,将影响整个倒计时的不准确,所以决定自己写一个,并进行了封装,在此加入了服务器的返回当前时间.
- 主要特点 :
- GCD倒计时不用关心 "线程 | 模式" 这些问题
- 一个倒计时管理表格中全部倒计时时间;
- 即使手机本地时间任意调整,也不会影响倒计时出现偏差;
- 滚动不会影响倒计时的运行
- 600行倒计时无卡顿,无大内存消耗
原理简介 : 利用服务器返回的无误差的当前时间与当前设备的时间做差,调整结束时间,从而实时调整倒计时的精确性.
效果展示 :
-
效果1:
即使600行数据倒计时内存也不会飙升
效果2: 修改本地时间也不会影响到倒计时的准确性
就是这个软件录制的时候的时间居然跟 系统时间有关系!
所以我每次录制的时候,调整完系统时间这家话就莫名其妙的挂了!
所以这里只是调整了分钟,反复录制调整了10多次 .. 😂
问题: 看到一半你可能大叫 骗子!!调整完系统时间明显时间不对了!!
解释: 这里用的模拟器所以调整电脑上的时间模拟手机上的时间更改,正真在手机上运行的时候是必须切APP到后台 再调整系统时间 ,当APP再次调整到前台时间是正确的!所以完全不会影响.
如何使用( 4步即可)
-
导入模型类文件,并导入头文件
2.进行初始化
只需要传入当前的tableView 和 结束时间戳 两个参数 即可
3.为cell设置tag
4.销毁
========= 使用 ======= 搞定 =========================
对于大神来说应该是小儿科了但是自己写出来确实还有点小激动希望对你有帮助.😁