手机短信验证码时间倒计时

app 进入后台后,实现手机短信验证码时间不间断倒计时

//当app进入手机后台和手机前台时获取时间
- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    NSTimeInterval a=[dat timeIntervalSince1970] * 1000;
    NSString *timeString = [NSString stringWithFormat:@"%.0f", a];
    NSDictionary *dic = @{@"time":timeString};
    
    
    [[NSNotificationCenter defaultCenter]postNotificationName:@"background" object:nil userInfo:dic];
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    NSTimeInterval a=[dat timeIntervalSince1970] * 1000;
    NSString *timeString = [NSString stringWithFormat:@"%.0f", a];
    NSDictionary *dic = @{@"time":timeString};
    
    [[NSNotificationCenter defaultCenter]postNotificationName:@"foreground" object:nil userInfo:dic];

}
//登录界面实现通知调用


@property (nonatomic) NSInteger secondCountDown;
@property (nonatomic) NSInteger integer1;
@property (nonatomic) NSInteger integer2;



-(void)viewWillAppear:(BOOL)animated
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appGoForeground:) name:@"foreground" object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appGoBackground:) name:@"background" object:nil];
    
    self.navigationController.navigationBarHidden = YES;

}

- (void)appGoBackground:(NSNotification *)notification
{
    
    _integer1 = [notification.userInfo[@"time"] integerValue];
    
}

- (void)appGoForeground:(NSNotification *)notification
{
    NSInteger integer = [notification.userInfo[@"time"] integerValue];
    
    _integer2 = (integer - _integer1)/1000;
    
    _secondCountDown = _secondCountDown - _integer2;
    
}
原文地址:https://www.cnblogs.com/sayimba/p/5725656.html