您的位置:首页 > 其它

dispatch_after 的使用方法

2015-08-27 18:59 183 查看

dispatch_after 的使用方法

1. dispatch 意思是:迅速执行

2. dispatch_after函数:

void dispatch_after ( dispatch_time_t time, dispatch_queue_t
queue, dispatch_block_t block );

该方法的第一个参数是 time,第二个参数是
queue,第三个参数是要执行的 block。

3. dispatch_after 这个函数的作用是:

在 time 时间后,把 block 任务添加到 queue 队列中,并不是表示在time时间后执行任务,
大部分情况该函数能达到我们的预期,只有在对时间要求非常精准的情况下才可能会出现问题。

4. dispatch_time_t有两种形式的构造方式(不能直接赋值):
第一种:相对时间 可以通过dispatch_time函数来获取,DISPATCH_TIME_NOW表示现在,NSEC_PER_SEC表示的是秒数,它还提供了NSEC_PER_MSEC表示毫秒

第二种:绝对时间 可以通过dispatch_walltime函数来获取,dspatch_walltime需要使用timespec的结

构体来得到dispatch_time_t

5.代码展示:

dispatch_after(

/**第一个参数time,通过dispatch_time函数来获取*/

dispatch_time(DISPATCH_TIME_NOW, (int64_t)(self.imageView.animationDuration
* NSEC_PER_SEC)),

/**第二个参数queue*/

dispatch_get_main_queue(),

/**第三个参数block*/
^{

self.timer = [NSTimerscheduledTimerWithTimeInterval:3.0
target:selfselector:@selector(timerAnimation)userInfo:nilrepeats:NO];
}
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: