iOS定时器、延迟执行

1.通用方式(并不是实时调用并且会卡顿):

// 一般用于更新一些非界面上的数据

[NSTimer scheduledTimerWithTimeInterval:时间间隔 target:self selector:调用方法 userInfo:nil repeats:是否重复];


2.动画推荐使用(流畅):

// 刷新帧,默认每秒钟60次,动画推荐使用

CADisplayLink *display = [CADisplayLink displayLinkWithTarget:selfselector:调用方法];

// 加入到消息循环中

[display addToRunLoop:[NSRunLoop main RunLoop] forMode:NSDefaultRunLoopMode];


延迟执行的2种方式

方式一:

// 调用NSObject的方法

[self performSelector:@selector(run) withObject:nil afterDelay:2.0];


方式二:

// 调用GCD方法(可选择使用在什么队列执行)

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    需要执行的代码块

});

原文地址:https://www.cnblogs.com/miaomiaoshen/p/5188634.html