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; }
时间: 2024-11-05 18:36:09