CADisplayLink简单介绍

2018-05-09  本文已影响171人  雪山飞狐_91ae

如果在项目中有每隔一段时间定时执行某个函数的需求,那么大家首先想到的应该是NSTimer。其实CADisplayLink也能实现每隔一段时间定时执行函数。
官方API的定义是

A timer object that allows your application to synchronize its drawing to the refresh rate of the display.

CADisplayLink是一个定时器对象,它可以让你与屏幕刷新频率相同的速率来刷新你的视图
目前iOS中的屏幕刷新速率是60Hz。也就是每秒刷新60次。那么我们可以利用CADisplayLink对象使我们想要执行的代码块每秒执行60次。当然我们也可以设置CADisplayLink的属性preferredFramesPerSecond来改变刷新次数为30次或15次。

CADisplayLink的使用

_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(refresh)];

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

CADisplayLink的方法和属性

CADisplayLink和NSTimer的不同之处

上一篇 下一篇

猜你喜欢

热点阅读