iOS:OC的定时器方法,延时方法
方法1:performSelector
// 1.5s后自动调用self的hideHUD方法
[self performSelector:@selector(hideHUD) withObject:nil afterDelay:1.5];
参数分析:
@selector(hideHUD):选择延时后调用的方法,hideHUD是自定义的方法。
withobject:传入的参数,若没有,则为nil。
afterDelay:需要延时的时间
方法2:GCD
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里面的代码。在这里只需要设置延时时间和延时之后需要执行的代码即可。
方法3:NSTimer
// 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。
参数分析: