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

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:@selectorappGoForeground:) name:@"foreground" object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selectorappGoBackground:) 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;
    
}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平