iOS:OC的定时器任务方法,延时方法

来源:互联网 发布:淘宝抢购神器 编辑:程序博客网 时间:2024/05/22 12:33

iOS:OC的定时器方法,延时方法


方法1:performSelector

// 1.5s后自动调用self的hideHUD方法
[self performSelector:@selector(hideHUD) withObject:nil afterDelay:1.5];

参数分析:

@selector(hideHUD):选择延时后调用的方法,hideHUD是自定义的方法

withobject:传入的参数,若没有,则为nil。

afterDelay:需要延时的时间

方法2GCD

DCD工作原理:让程序平行排队的特定任务。根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务,一个任务可以是一个函数或者是一个block。

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{    // 1.5s后自动执行这个block里面的代码    self.hud.alpha = 0.0;<pre name="code" class="objc">});

参数分析:延时1.5秒之后,执行block里面的代码。在这里只需要设置延时时间和延时之后需要执行的代码即可。

方法3NSTimer

// 1.5s后自动调用self的hideHUD方法[NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(hideHUD) userInfo:nil repeats:NO];// repeats如果为YES,意味着每隔1.5s都会调用一次self的hidHUD方法

参数分析:
Interval:1.5秒。
target:self   : 对象是自己
@selector(hideHUD):选择延时后调用的方法,hideHUD是自定义的方法。
userInfo:nil : 传入参数为nil.
repeats:NO :是否重复执行延时代码,不需要则选择NO。

参数分析:
0 0