美文网首页
定时器

定时器

作者: Mn_Su | 来源:发表于2016-09-24 15:29 被阅读0次

    第一种 : NSTimer

        @property(nonatomic,strong)NSTimer *timer;
    
        //创建定时器
        self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(imageChange) userInfo:nil repeats:YES];    
    
         //定时器实现方法
        - (void)imageChange{
      
        }  
    

    第二种 : GCD定时器

        dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue());
        dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
        dispatch_source_set_event_handler(timer, ^{ 
              NSLog(@"这个是GCD的定时器"); 
              if (/* DISABLES CODE */ (NO)) { 
                  // 这个Block里一定要写这行代码,要不然定时器不会执行
                  dispatch_source_cancel(timer); 
              }
        });
        dispatch_resume(timer);
    

    第三种:CADisplayLink

      CADisplayLink *display= [CADisplayLink displayLinkWithTarget:self selector:@selector(updateImage)];
    
      [display addToRunLoop:[NSRunLoopmainRunLoop] forMode:NSDefaultRunLoopMode];
    

    说明: CADisplayLink刷帧,默认每秒刷新60次。该定时器创建之后,默认是不会执行的,需要把它加载到消息循环中

    相关文章

      网友评论

          本文标题: 定时器

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