NSTimer和运行循环

//1.本质上就是创建一个时钟,以默认的模式添加到运行循环中 [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector() userInfo:nil repeats:YES]; //2.等同于1 [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode]; //3.以NSRunLoopCommonModes的模式添加到运行循环中 [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

运行模式有两种:NSDefaultRunLoopMode 和 NSRunLoopCommonModes(滚动)

NSDefaultRunLoopMode

一旦发现有滚动事件,默认模式暂时不监听,但是会累积,也就是在下一次可监听的时候会把之前没执行的一并执行。
eg.图片轮播器定时切换的时候,拖住某张图片后放开,会一下子切换n张

NSRunLoopCommonModes

即使有滑动也监听

NSTimer准确吗?如果不准确,怎么办?

不准确。通常用来有一定时间跨度的周期性实际的处理。

CADisplayLink (屏幕刷新一次就执行一次 60Hz)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本概念 进程 进程是指在系统中正在运行的一个应用程序,而且每个进程之间是独立的,它们都运行在其专用且受保护的内存...
    小枫123阅读 949评论 0 1
  • 一、什么是NSRunLoop NSRunLoop是消息机制的处理模式 NSRunLoop的作用在于有事情做的时候使...
    呦释原点阅读 685评论 0 2
  • 一、什么是NSRunLoop NSRunLoop是消息机制的处理模式 NSRunLoop的作用在于有事情做的时候使...
    lbfly_boy阅读 483评论 0 2
  • 一、什么是NSRunLoop NSRunLoop是消息机制的处理模式 NSRunLoop的作用在于有事情做的时候使...
    KK_boy阅读 525评论 0 0
  • runtime 和 runloop 作为一个程序员进阶是必须的,也是非常重要的, 在面试过程中是经常会被问到的, ...
    made_China阅读 1,236评论 0 7