延迟加载

1.performSelector方法

//delayMethod 为你的 方法代码块

[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];


2.定时器:NSTimer

//此方式要求必须在主线程中执行,否则无效。

//是一种非阻塞的执行方式,

//可以通过NSTimer类的- (void)invalidate;取消执行。

[NSTimer scheduledTimerWithTimeInterval:1.0f  target:self selector:@selector(delayMethod)  userInfo:nil repeats:NO];

3. sleep方式

//此方式在主线程和子线程中均可执行。

//是一种阻塞的执行方式,建方放到子线程中,以免卡住界面

//没有找到取消执行的方法。

[NSThread sleepForTimeInterval:1.0f]; [self delayMethod];

4.GCD方式

//此方式在可以在参数中选择执行的线程。

//是一种非阻塞的执行方式,

//没有找到取消执行的方法。

double delayInSeconds = 1.0;

__block ViewController* bself = self;

dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));

dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

[bself delayMethod]; });

转自:http://blog.csdn.net/chenyong05314/article/details/24695897


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、什么是并行等问...
    hashakey阅读 2,548评论 0 0
  • 27、ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是...
    烟雨平生花飞舞阅读 3,818评论 0 1
  • .一.进程 进程:是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空...
    IIronMan阅读 9,981评论 1 33
  • 欢迎大家指出文章中需要改正或者需要补充的地方,我会及时更新,非常感谢。 一. 多线程基础 1. 进程 进程是指在系...
    xx_cc阅读 12,009评论 11 70
  • 9月份的目标是什么呢? 1、每天不得迟于六点前起床; 2、参与每日话题和感悟; 3、看完三本专业书,并做读书笔记。...
    捡到蜜罐的熊阅读 1,202评论 0 0

友情链接更多精彩内容