美文网首页
定时器发送验证码

定时器发送验证码

作者: Poison_19ce | 来源:发表于2017-11-20 18:05 被阅读0次

__block int timeout= 59;

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行

dispatch_source_set_event_handler(_timer, ^{

if(timeout<=0){

dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{

//sendtest为按钮

[sendtest setTitle:@"重新获取" forState:UIControlStateNormal];

[sendtest setTitleColor:BC_MASSTONEATTUNE_COLOR forState:UIControlStateNormal];

sendtest.userInteractionEnabled = YES;

});

}else{

int seconds = timeout % 60;

NSString *strTime = [NSString stringWithFormat:@"%.2d重新获取",seconds];

dispatch_async(dispatch_get_main_queue(), ^{

//sendtest为按钮

[sendtest setTitle:strTime forState:UIControlStateNormal];

[sendtest setTitleColor:BC_TEXTFIELDINPUT_COLOR forState:UIControlStateNormal];

sendtest.userInteractionEnabled = NO;

});

timeout--;

}

});

dispatch_resume(_timer);

相关文章

  • RAC实战3---定时器

    RAC中的定时器 这次我们写一个demo来讲解RAC中的定时器的使用。demo功能:点击button发送验证码,并...

  • Android开发中,定义验证码定时器

    android中验证码定时器 第一步,创建内部或外部引用类(这个自己随便,我用的是内部类) /* * 发送验证码倒...

  • NSTimer保留对象导致内存泄漏

    在做限时支付,验证码发送之类的功能时经常需要使用NTimer来做定时器,但是NSTimer在invalidate之...

  • iOS GCD定时器的使用

    最近看了一下 iOS 的定时器的使用,我们来模拟一个发送短信验证码时候的等待计时动画 要想了解定时器,首先需要了解...

  • 短信验证码深度解剖

    一、短信验证码运作机制 1. 验证码加密发送 在APP中点击发送验证码,向后台发送一个发送验证码请求; 后台收到请...

  • 定时器发送验证码

    __block int timeout= 59; dispatch_queue_t queue = dispatc...

  • Django相关技术点文档

    Django总结 发送短信: 检查确认图片验证码 检查60s内是否发送过 否生成短信验证码 保存短信验证码以及发送...

  • iOS 倒计时效果的实现

    // 添加定时器 // 倒计时操作 // 定时器的销毁 点击按钮获取验证码 注意:如果获取验证码的按钮是通过sb ...

  • 接口调用次数限制

    项目中出现这样的一个需求: 现在有一个发送验证码的接口,验证码是使用的腾讯云的发送验证码,费用取决于发送验证码的...

  • wueasy框架之验证码工具使用

    验证码工具 是一个解决通用验证码验证安全的问题,例如发送短信验证码、发送邮箱验证码等场景。 为什么要使用此工具? ...

网友评论

      本文标题:定时器发送验证码

      本文链接:https://www.haomeiwen.com/subject/wyxbvxtx.html