CADisplayLink与NSTimer
2016-01-29 15:50
190 查看
CADisplayLink基础使用:
1、创建CADisplayLink对象
@property (strong,
nonatomic) CADisplayLink *playLink;
2、CADisplayLink的初始化
_playLink = [CADisplayLink
displayLinkWithTarget:self
selector:@selector(addNumber)];
_playLink.paused =
YES;
[_playLink
addToRunLoop:[NSRunLoop
currentRunLoop] forMode:NSDefaultRunLoopMode];
3、CADisplayLink启动
self.playLink.paused =
NO;
4、CADisplayLink的暂停
self.playLink.paused =
YES;
[self.playLink
invalidate];
self.playLink =
nil;
NSTimer基础使用:
1、创建NSTimer对象
@property (strong,
nonatomic) NSTimer *timer;
2、NSTimer的初始化
_timer = [NSTimer
scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(addNUmber2)
userInfo:nil
repeats:YES];
3、NSTimer的暂停
[self.timer
invalidate];
self.timer =
nil;
NSTimer接受另一个参数是否重复,而把CADisplayLink设置为重复(默认重复?)直到它失效。
NSTimer 我们通常会用在背景计算,更新一些数值资料,而如果牵涉到画面的更新,动画过程的演变,我们通常会用CADisplayLink。
CADisplayLink 默认每秒运行60次;NSTimer由自己设定循环时间
CADisplayLink的属性frameInterval,默认是1,也可以设置其他值,但不能小于1
The behavior when using values less than one is undefined//这句话是frameInterval的官方解释:使用值小于1时的行为是未定义的
1、创建CADisplayLink对象
@property (strong,
nonatomic) CADisplayLink *playLink;
2、CADisplayLink的初始化
_playLink = [CADisplayLink
displayLinkWithTarget:self
selector:@selector(addNumber)];
_playLink.paused =
YES;
//NSDefaultRunLoopMode添加到循环并启动
[_playLink
addToRunLoop:[NSRunLoop
currentRunLoop] forMode:NSDefaultRunLoopMode];
3、CADisplayLink启动
self.playLink.paused =
NO;
4、CADisplayLink的暂停
self.playLink.paused =
YES;
[self.playLink
invalidate];
self.playLink =
nil;
NSTimer基础使用:
1、创建NSTimer对象
@property (strong,
nonatomic) NSTimer *timer;
2、NSTimer的初始化
_timer = [NSTimer
scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(addNUmber2)
userInfo:nil
repeats:YES];
3、NSTimer的暂停
[self.timer
invalidate];
self.timer =
nil;
NSTimer接受另一个参数是否重复,而把CADisplayLink设置为重复(默认重复?)直到它失效。
NSTimer 我们通常会用在背景计算,更新一些数值资料,而如果牵涉到画面的更新,动画过程的演变,我们通常会用CADisplayLink。
CADisplayLink 默认每秒运行60次;NSTimer由自己设定循环时间
CADisplayLink的属性frameInterval,默认是1,也可以设置其他值,但不能小于1
The behavior when using values less than one is undefined//这句话是frameInterval的官方解释:使用值小于1时的行为是未定义的
相关文章推荐
- Lintcode : 统计数字
- 学习笔记3
- C#,往线程里传参数的方法总结
- Java内存溢出的详细解决方案
- CRect:返回一些列的矩形区域
- 修改百度地图SearchInRectangle.js,去掉搜索功能,实现拖动搜索框时获得右下角坐标经纬度
- circso 对数据进行可视化
- 正则表达式基本语法和模式修正
- 判断数据类型
- 响应式图片
- 静态绑定与动态绑定
- 解决iOS开发中涉及到的retain cycle导致控制器无法释放的问题
- lightOJ1005 组合数学
- 简化代码的微小修改
- 用 NSURProtocol 注入测试数据
- 条形码识别(4)——校验
- 2016-1-29linux基础学习2
- Struts Spring Hibernate三大框架整合
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的
- Android反射机制实现与原理