码迷,mamicode.com
首页 > 其他好文 > 详细

[转]NSTimer和CADisplayLink的基本用法

时间:2015-10-27 19:07:27      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

简要区别:
NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次
CADisplayLink默认每秒运行60次,通过它的frameInterval属性改变每秒运行帧数,如设置为2,意味CADisplayLink每隔一帧运行一次,有效的逻辑每秒运行30次。
此外,NSTimer接受另一个参数是否重复,而CADisplayLink默认为重复,直到它失效。
还有一个区别在于,NSTimer一旦初始化它就开始运行,而CADisplayLink需要将显示链接添加到一个运行循环中,即用于处理系统事件的一个Cocoa Touch结构。
NSTimer 我们通常会用在背景计算,更新一些数值资料,而如果牵涉到画面的更新,动画过程的演变,我们通常会用CADisplayLink。

NSTimer

@interface ViewController : UIViewController
{
 
    NSTimer *theTimer; //声明
}
 
//使用
 
float theInterval = 1.0 / 30.0f;  //每秒调用30次
 
theTimer = [NSTimer scheduledTimerWithTimeInterval:theInterval target:self selector:@selector(MyTask) userInfo:nil repeats:YES];
 
//停用
 
[theTimer invalidate];
theTimer = nil;

  

 

CADisplayLink,需要加入QuartzCore.framework及#import

/*CADisplayLink 默认每秒运行60次,将它的frameInterval属性设置为2,意味CADisplayLink每隔一帧运行一次,有效的使游戏逻辑每秒运行30次*/

f(theTimer == nil)
 
    {
 
        theTimer = [CADisplayLink displayLinkWithTarget:self selector:@selector(MyTask)];
 
        theTimer.frameInterval = 2;
 
        [theTimer addToRunLoop: [NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
 
    }
 
//停用
 
[theTimer invalidate];
 
theTimer = nil;

 


 

[转]NSTimer和CADisplayLink的基本用法

标签:

原文地址:http://www.cnblogs.com/developer-qin/p/4914712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!