实现短信倒计时

@implementation ForgetViewController {
    
    __strong NSTimer * timer;
    NSInteger          secondes;
    
    
}
- (void)dealloc{
    
    if(timer != nil){
        [timer invalidate];
        timer = nil;
    }
}


- (void)btnClick:(UIButton *)sender {
secondes= 59;
                if (!timer) {
                    timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
                    [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
                    [timer fire];


}
-(void)timerFired:(id) sender { if(secondes <=0) { self.codeBtn.enabled = YES; [self.codeBtn setTitle:@"重新获取" forState:UIControlStateNormal]; } else { NSString * title = [NSString stringWithFormat:@"(%lds)后重发", secondes]; [self.codeBtn setTitle:title forState:UIControlStateNormal]; } secondes--; }
原文地址:https://www.cnblogs.com/ningmengcao-ios/p/5825534.html