技术贴:3.iOS中的延时执行

延迟执行也叫做延时执行。在iOS中有三种延时执行方式:

1.调用NSObject的方法

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

//2S后执行self中的func方法。

2.使用多线程GCD

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

          //需要延时2秒后执行的代码

});

3.使用定时器NSTimer

[NSTimer scheduledTimerWithInterval:2.0 target:self selector:@selector(func) userInfo:nil repeats:NO];

//2s后执行self中的func方法。

4.使用NSThread的线程睡眠机制同样能够达到相同效果,但是会导致主线程阻塞,所以这里不做推荐。

[NSThread sleepForTimerInterval:2];

// 需要执行的代码写在后面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案...
    张战威ican阅读 3,744评论 0 0
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 5,306评论 0 6
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,742评论 0 6
  • 在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案...
    伯恩的遗产阅读 275,179评论 251 2,330
  • 001行动力&执行力 我三年前也和文中的A很像,工作总是觉得无趣,觉得学不到东西,每天说话的人都没有(当时做的类似...
    xiao徐徐1阅读 1,111评论 0 0