dispatch_after 的使用方法

                                             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];

           }  

                  );




       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值