ios 中一些常见的延时操作

//1.通过NStimer
     NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0f target:self selector:@selector(timerClick) userInfo:nil repeats:NO];
    [timer setFireDate:[NSDate distantPast]];//运行
//2.通过performSelector
    [self performSelector:@selector(timerClick) withObject:nil afterDelay:5.0f];
  //[NSObject cancelPreviousPerformRequestsWithTarget:self];//取消延迟加载
//    3.gcd
    dispatch_time_t gcdTimer = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC));
    //   dispatch_after:在指定时间追加处理到dispatch_queue
    dispatch_after(gcdTimer, dispatch_get_main_queue(), ^{
        [self timerClick];
    });
//    4.使用NSThread
    [NSThread sleepForTimeInterval:5.0f];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容