iOS学习笔记----NSTimer(基本使用,DefaultRunLoopMode,NSRunLoopCommonModes,准确性)
来源:互联网 发布:数据分析看什么书 编辑:程序博客网 时间:2024/06/03 05:51
NSTimer:
TimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;
1. 时间间隔,double
2. 监听时钟触发的对象
3. 调用方法
4. userInfo,可以是任意对象,通常传递nil
5. repeats:是否重复
1.
<span style="font-size:18px;">[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTimer:) userInfo:@"hello timer" repeats:YES];</span>
<span style="font-size:18px;">[NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];</span>
上面两种方式实质上是一样的,scheduledTimerWithTimeInterval 方法本质上就是创建一个时钟, 添加到运行循环的模式是DefaultRunLoopMode.
2.
self.timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES]; [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
将timer添加到运行循环
模式:NSRunLoopCommonModes的运行循环模式(监听滚动模式)
3.DefaultRunLoopMode:当我们执行其他滚动事件时,timer会默认暂时不监听,当滚动结束的时候会,继续监听。
NSRunLoopCommonModes:始终监听滚动事件
4.NSTimer准确性:
当程序执行的时候,遇到cpu忙碌的时候,NSTimer会被放到一边不执行,就会造成该执行的事件不执行,会造成事件的叠加。
所以说NSTimer通常会用来做一些有一定时间跨度的时间处理。
解决办法:(1.多线程,2.CADdisplay link)不好意思还没学到,学到在更新……
0 0
- iOS学习笔记----NSTimer(基本使用,DefaultRunLoopMode,NSRunLoopCommonModes,准确性)
- IOS-NSTimer的使用
- ios客户端学习-NSTimer刷新时间
- IOS-笔记15(Unwind Segue,Action Sheets,Alert,NSTimer)
- iOS学习笔记 (5)NSDate和NSTimer
- iOS 学习笔记 --- 定时器NSTimer、CADisplayLink、GCD
- iOS多线程的初步研究-- NSTimer
- IOS学习之NSTimer使用详解
- .Net学习笔记 - 客户端访问服务器端的基本使用
- 【代码笔记】iOS-NSTimer
- jQuery学习-基本使用
- IOS 定时器(NSTimer)的使用
- 定时器(二)---ios NSTimer使用
- iOS 定时器(NSTimer)的使用
- iOS NSTimer使用注意事项
- iOS: NSTimer使用小记
- iOS NSTimer使用教程
- iOS: NSTimer使用小记
- 【UI特效】用Fragment和RadioGroup来实现微博TAB选项卡效果
- Python中List的去重问题
- MySQL事务部分回滚-回滚到指定保存点
- 关于static的加载顺序
- Android: (2.3中实现截屏How to Capture Screen in Gingerbread)
- iOS学习笔记----NSTimer(基本使用,DefaultRunLoopMode,NSRunLoopCommonModes,准确性)
- 常见的进程间通信
- 一个MySQL数据库服务不能正常启动的故障处理过程
- 基于yii开发的web应用学习
- WindowsPhone 8&8.1 高仿《每日一文》之光有界面没数据怎么行?
- 谈谈我的学习工作经历——自学liunx去中兴上班
- Libevent源码分析-----通用类型和函数
- 路由器花生壳怎么用
- Sublime3常用插件安装