美文网首页
iOS - 定时任务

iOS - 定时任务

作者: 木子小静 | 来源:发表于2016-03-02 15:25 被阅读292次

    定时任务就是一定时间内或一定时间之后做某事,一共三个方法。

    现在要执行的操作是,2秒之后执行begin这个方法。

    第一种方法:

    
    [self performSelector:@selector(begin) withObject:nil afterDelay:2];
    
    

    第二种方法:用多线程GCD实现

    
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(2 * NSEC_PER_SEC)),dispatch_get_main_queue(),^{
    
    self.hud.alpha=0.0
    
    });
    
    

    第三种方法:用NSTimer

    
    [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(begin)userInfo:nil repeats:NO];
    
    // repeats如果为YES,每隔2秒就会调用一次begin方法
    
    

    这里再补充一个绘图时使用的定时方法

    在绘图的时候需要用到定时器,通常使用CADisplayLink(每次屏幕刷新的时候就会调用,屏幕一般一秒刷新60次),NSTimer很少用于绘图,因为调度优先级比较低,并不会准时调用,会有卡顿的情况出现

        CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(begin)];
        
        // 添加主运行循环
        [link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
    

    相关文章

      网友评论

          本文标题:iOS - 定时任务

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