iOS 每隔一段时间执行一次代码

static dispatch_source_t _timerEveryFive;  //宏定义

viewWillAppear加入要执行的代码

   //设置时间间隔

    NSTimeInterval period = 5.f;  //时间随时可以修改

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    _timerEveryFive = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);

    dispatch_source_set_timer(_timerEveryFive, dispatch_walltime(NULL, 0), period * NSEC_PER_SEC, 0);

    // 事件回调

    dispatch_source_set_event_handler(_timerEveryFive, ^{

        dispatch_async(dispatch_get_main_queue(), ^{

          

            //网络请求 doSomeThing...

            

            DLog(@"每隔5秒钟执行一次");

        });

    });

 

    // 开启定时器

    dispatch_resume(_timerEveryFive);

 

最后记得关闭gcd定时器

viewWillDisappear里面写 

// 关闭定时器

     dispatch_source_cancel(_timerEveryFive);

完美解决!!

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值