zoukankan      html  css  js  c++  java
  • iOS

        我们在使用APP时常用的一个功能:用户第一次进入APP时自动进入登录注册页,提示用户注册登录,用户登录成功后才进入主页,再次进入APP时,不用再次登录就直接进到主页了,就算杀掉该APP进程再次进入,依然进入主页.        
        苹果给我们iOS开发者提供了一个NSUserDefault类,用来持久化存储用户的登录信息,只有卸载APP才能抹掉这些登陆信息.

    1.在登陆页面对应的类loginViewController.h中定义两个TextField和一个Button,用来接受用户输入的用户名和密码,点击按钮登陆,如果登陆成功,就将用户的登陆信息存放在UserDefault中,然后跳入主页面

    2.在loginViewController.m中实现两个TextField和一个Button,UI方面的代码就不粘贴了,直接实现按钮的点击登录事件:登录请求成功后,走成功回调,回调下面实现将用户名和密码存入UserDefault中,页面跳转到主页面.下面数据请求的代码就不粘贴了,直接上存储UserDefault代码,跳转主页面.ps:#import "AppDelegate.h"
     
    3.在AppDelegate.h中实现:用户第一次进入APP时自动进入登录注册页,提示用户注册登录,用户登录成功后才进入主页,再次进入APP时,不用再次登录就直接进到主页了.
     
    补充说明:如果你的登录页是自定义的导航栏,跳转登录页做此修改
     

    4.执行完登录操作后,给“username”字段赋一个非空值,这样下次到AppDelegate时,判断之后就会进入到主页了

    5.最后,该如何移除自动登录这种状态呢,或者切换用户登录.在你的退出登录按钮事件中实现.

    6.好了,保存登录状态,移除等操作的都已经实现了.
     
     
     
     
     
    //用户登录信息key
    #define kUserInfoKey @"userInfoKey"
    //用户登录信息密码
    //#define kUserPwdKey @"userPwdKey"
    
    
    1、
    [MBProgressHUD showSuccess:@"登录成功" toView:self.view];
                    [[NSUserDefaults standardUserDefaults] setObject:self.phoneNumTF.text forKey:kUserInfoKey];//保存登录用户名
    //                [[NSUserDefaults standardUserDefaults] setObject:self.pwdTF.text forKey:kUserPwdKey];//保存密码
    
    2、
    [MBProgressHUD showSuccess:@"注册成功" toView:self.view];
                [[NSUserDefaults standardUserDefaults] setObject:self.phoneTF.text forKey:kUserInfoKey];
    //            [[NSUserDefaults standardUserDefaults] setObject:self.pwdTF.text forKey:kUserPwdKey];
    
    3- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    SDLoginViewController *login = [[SDLoginViewController alloc] init];
        SDNavigationController *nav = [[SDNavigationController alloc] initWithRootViewController:login];
        self.window.rootViewController = nav;
        NSString *userPhone = [[NSUserDefaults standardUserDefaults] objectForKey:kUserInfoKey];
    //    NSString *userPwd = [[NSUserDefaults standardUserDefaults] objectForKey:kUserPwdKey];
        login.userLoginName = userPhone;
    //    login.userPwdTF = userPwd;    
    
    }
    
    4、
    #import "SDLoginViewController.h"
    
    if (self.userLoginName.length == 0) {
            self.phoneNumTF.placeholder = @"手机号/用户名/邮箱";
            [self.phoneNumTF setValue:[UIColor colorWithHexString:@"#A7A7A7"] forKeyPath:@"_placeholderLabel.textColor"];
        } else {
            self.phoneNumTF.text = self.userLoginName;
        }
        if (self.userPwdTF.length == 0) {
            self.pwdTF.placeholder = @"密码";
            [self.pwdTF setValue:[UIColor colorWithHexString:@"#A7A7A7"] forKeyPath:@"_placeholderLabel.textColor"];
        } else {
            self.pwdTF.text = self.userPwdTF;
        }
  • 相关阅读:
    第一周作业
    第0次作业
    第三次作业
    第二次作业
    第一次作业
    第零次作业
    第三周作业
    第二周作业
    第一周作业
    关于如何学习计算机
  • 原文地址:https://www.cnblogs.com/gongyuhonglou/p/10565516.html
Copyright © 2011-2022 走看看