iOS_NSTimer倒计时实例
来源:互联网 发布:videocompressor mac 编辑:程序博客网 时间:2024/05/16 07:45
这两天用到了,很久前封的一个NSTimer类,整理了下和小伙伴们一起分享下。
2016-09-09 NSTimer的补充
关于NSTimer的定义,官方给出解释是“A timer provides a way to perform a delayed action or a periodic action. The timer waits until a certain time interval has elapsed and then fires, sending a specified message to a specified object. ” 翻译过来就是timer就是一个能在从现在开始的后面的某一个时刻或者周期性的执行我们指定的方法的对象。
而我们还应该注意, timer不是一种实时的机制,会存在延迟,而且延迟的程度跟当前线程的执行情况有关(比如大数据运算时)。
------------------------------------------------------------------------------------------
这里是核心代码:
<span style="font-family:Microsoft YaHei;font-size:14px;">//换算成倒计时时间- (void)setTimeLabelbyday:(NSInteger)day andhour:(NSInteger)hour andmin:(NSInteger)min andsecond:(NSInteger)second{ self.lastTime=((day*24+hour)*60+min)*60+second; self.str_Time=[NSString stringWithFormat:@"%02ld:%02ld:%02ld",self.lastTime/3600%24,self.lastTime/60%60,self.lastTime%60]; self.myTime=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timeMove) userInfo:nil repeats:YES]; [[NSRunLoop mainRunLoop] addTimer:self.myTime forMode:NSRunLoopCommonModes];}//计时方法- (void)timeMove{ if (self.lastTime==0) { [self timeStop]; if (self.block_TimeUp) { self.block_TimeUp(); } }else{ //递减 self.lastTime--; //新的字符串内容 lab.text = [NSString stringWithFormat:@"%02ld:%02ld:%02ld",self.lastTime/3600%24,self.lastTime/60%60,self.lastTime%60]; }}//开始倒计时- (void)timeStart{ [self.myTime setFireDate:[NSDate distantPast]];}//停止倒计时- (void)timeStop{ [self.myTime setFireDate:[NSDate distantFuture]];}</span>
倒计时demo (提取码:7896)
感谢观看,学以致用更感谢~
0 0
- iOS_NSTimer倒计时实例
- 团购网倒计时实例
- 倒计时(高考)实例
- Java倒计时实例
- iOS_NSTimer的那些事(二)
- JavaScript - 倒计时实例(元旦、国庆、中秋倒计时)
- Android Widget 实例(世界杯倒计时)
- setInterval(倒计时实例)和setTimeout的用法
- fgm实例练习笔记-3.9倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- 倒计时
- Unix系统编程(2) - 文件系统
- 89-----hibernate的hql查询,原生SQL查询,命名查询,投影查询
- Android微信自动回复及锁屏控制界面
- 微软研究院图像识别挑战赛 MSR Image Recognition Challenge (IRC)
- CUBE 和 ROLLUP 之间的具体区别
- iOS_NSTimer倒计时实例
- 分享SysWOW64 文件夹
- zookeeper 与 kafka的协同工作
- Android Studio 2.0下创建jni应用调用本地C函数
- 异常(二)
- caffe使用中的问题记录
- PAT 团体程序设计天梯赛-练习集 L2-001. 紧急救援 【dijkstra】
- <spring boot>jsp视图的一个bug
- 【反向拓扑+优先队列】HDU4857逃生【BestCoder Round #1】