欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

nstimer跟cadisplaylink的用法

更新时间: 2014-01-05 02:34:01 责任编辑: Author_N1

 

NSTimer和CADisplayLink的用法
NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次。CADisplayLink默认每秒运行60次,通过它的frameInterval属性改变每秒运行帧数,如设置为2,意味CADisplayLink每隔一帧运行一次,有效的逻辑每秒运行30次。

此外,NSTimer接受另一个参数是否重复,而把CADisplayLink设置为重复(默认重复?)直到它失效。

还有一个区别在于,NSTimer一旦初始化它就开始运行,而CADisplayLink需要将显示链接添加到一个运行循环中,即用于处理系统事件的一个Cocoa Touch结构。

NSTimer 我们通常会用在背景计算,更新一些数值资料,而如果牵涉到画面的更新,动画过程的演变,我们通常会用CADisplayLink。


但是要使用CADisplayLink,需要加入QuartzCore.framework及#import



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



if(theTimer == nil)

{

    theTimer = [CADisplayLink displayLinkWithTarget:self selector:@selector(MyTask)];

    theTimer.frameInterval = 2;

    [theTimer addToRunLoop: [NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

}

//停用

[theTimer invalidate];

theTimer = nil;


原文:http://blog.sina.com.cn/s/blog_76550fd70101dfnj.html
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:34:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11522/
本文WWW.DOC100.NET DOC100.NET版权所有。