OC中代码延迟执行方式

原创 2015年07月06日 22:27:40

    第一种:

    [UIView animateWithDuration:1 delay:2 options:1 animations:^{

      

    } completion:^(BOOL finished) {

   

    }];

    //不会阻塞线程,animations  block中的代码对于是支持animation的代码,才会有延时效果,对于不支持animation的代码 不会有延时效果。

    

    第二种:

    [NSThread sleepForTimeInterval:3];//阻塞线程,浪费性能 ,一般不推荐用

    

    第三种:最常用,延迟2秒执行:

    double delayInSeconds = 2.0;

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

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

        // code to be executed on the main queue after delay

      });

      //定制了延时执行的任务,不会阻塞线程,效率较高(推荐使用)

    

    第四种:最直接的方法,这种方法的缺点:每次要为延时写一个方法

    [self performSelector:@selector(test) withObject:nil afterDelay:3];//不阻塞线程

    

    5.使用NSOperationQueue,在应用程序的下一个主循环执行:

    [[NSOperationQueue mainQueue] addOperationWithBlock:aBlock];这个和调用performSelector: with afterDelay of 0.0f等价

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

oc第一天课程代码(NSString常用函数及初始化方式)

#import void stringOther() {     NSMutableString* str = [[NSMutableString alloc] initWi...

OC - UIStackView 的使用,纯代码方式

记得去年开发iOS 9的时候就说,有个新特性的view ---- StackView,然后就没有然后了。再后来,就把这东西给忘记了,开发中也从来没用过。今天工作做得差不多了,bug改完了,突然想起来这...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ios开发中,关于javascript直接调用oc代码而非通过改变url回调方式

之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中 调用相关object-c代码。   一、以前使用js调用object-c的方法 关于如何使用...

ios开发,javascript直接调用oc代码而非通过改变url回调方式

之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中 调用相关object-c代码。   一、以前使用js调用object-c的方法 关于如何使用javascript调用...

编写高质量OC代码52建议总结:19.使用清晰而协调的命名方式

类、方法及变量的命名是Objective-C编程的重要环节。通常会觉得OC的语言很繁琐,因为其语法结构使代码读起来和句子一样。    [@"asdasdas" stringByReplacingO...

ios开发,javascript直接调用oc代码而非通过改变url回调方式

之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中 调用相关object-c代码。   一、以前使用js调用object-c的方法 关于如何使用javascri...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)