zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-密码在进入后台1小时后重新设置

    代码:

    AppDelegate.m

    复制代码
    #import "AppDelegate.h"
    #import "ViewController.h"
    
    @interface AppDelegate ()
    
    @end
    
    @implementation AppDelegate
    
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        //当程序在后台停留超过60分的时候,密码会置为空。
        
        //1小时后将密码重新设置
        [self timeInterval];
        
        
        return YES;
    }
    
    - (void)applicationWillResignActive:(UIApplication *)application {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    }
    
    - (void)applicationDidEnterBackground:(UIApplication *)application {
        //计算时间差
        [self backTime];
    }
    
    - (void)applicationWillEnterForeground:(UIApplication *)application {
        //1小时后将密码重新设置
        [self timeInterval];
    }
    
    - (void)applicationDidBecomeActive:(UIApplication *)application {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }
    
    - (void)applicationWillTerminate:(UIApplication *)application {
        //计算时间差
        [self backTime];
    }
    #pragma -mark -密码保存1个小时
    //计算时间差
    - (void)timeInterval
    {
        NSLog(@"---timeInterval----");
        //设置一个字符串的时间
        NSString * dateBackString = [[NSUserDefaults standardUserDefaults] objectForKey:@"backGroundTime"];
        
        NSLog(@"---dateBackString---%@",dateBackString);
        
        if ([dateBackString isEqual:[NSNull null]] || dateBackString==nil || dateBackString.length ==0) {
        }
        else
        {
            NSInteger time = [self getTimeInterval:dateBackString];
            if (time >= 60) {
                //1小时后将密码清空
                NSUserDefaults *userInfoDefault=[NSUserDefaults standardUserDefaults];
                [userInfoDefault setObject:@"" forKey:@"login-password"];
                [userInfoDefault synchronize];
            }
        }
    }
    //1小时后将密码重新设置
    - (void)backTime
    {
        
        NSLog(@"----backTime-----");
        //计算上报时间差
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        //结束时间
        NSDate * currentdate = [NSDate date];
        NSString * currentDateString = [dateFormatter stringFromDate: currentdate];
        
        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        [userDefaults setObject:currentDateString forKey:@"backGroundTime"];
        [userDefaults synchronize];
    }
    //计算时间差
    - (NSInteger)getTimeInterval:(NSString *)sendDateString
    {
        NSInteger minute;
        
        if (sendDateString ==nil||sendDateString.length==0) {
            
        }
        else
        {
            
            NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
            [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
            //结束时间
            NSDate * currentdate = [NSDate date];
            NSDate * currentDate = [dateFormatter dateFromString:[dateFormatter stringFromDate: currentdate]];
            NSDate * endDate = [dateFormatter dateFromString:sendDateString];
            //得到时间差
            NSTimeInterval time = [currentDate timeIntervalSinceDate:endDate];
            
            //        int days = ((int)time)/(3600*24);
            //        int hours = ((int)time)%(3600*24)/3600;
            //        minute = ((NSInteger)time)%(3600*24)/3600/60;
            minute = (NSInteger)time;
        }
        return minute;
    }
    
    @end
    复制代码
  • 相关阅读:
    luogu P3657 (NOIP2017) 跳房子(二分+DP+单调队列)
    BZOJ 3331 (Tarjan缩点+树上差分)
    Libre OJ 2255 (线段树优化建图+Tarjan缩点+DP)
    LibreOJ 6177 题解(状压DP)
    BZOJ 1179 (Tarjan缩点+DP)
    BZOJ 4919 (树上LIS+启发式合并)
    BZOJ 1100 &&luogu 3454(计算几何+KMP)
    HDU 3228 题解(最小生成树)(Kruskal)(内有详细注释)
    Codeforces 1058C(思维+最大公因数)
    周记 2015.05.30
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/7389136.html
Copyright © 2011-2022 走看看