美文网首页
NSTimer和运行循环

NSTimer和运行循环

作者: 陈鸿禧 | 来源:发表于2016-03-30 23:57 被阅读130次

    //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)

    相关文章

      网友评论

          本文标题:NSTimer和运行循环

          本文链接:https://www.haomeiwen.com/subject/afjelttx.html