IOS 记录用户登陆状态 第二次免登陆

首先创建用于存取用户信息的方法类

HRAccountTool.h:

#import <Foundation/Foundation.h>@interface HRAccountTool : NSObject/** * 存储账号信息 * @param account 需要存储的账号信息:第一个值为用户名;第二个值为密码 */+ (void)saveAccount:(NSArray *)account;/** * 返回存储的账号信息 * @return NSArray */+ (NSArray *)getAccount;/** * 返回存储的登陆用户名 * @return NSString */+ (NSString *)getUserName;/** * 返回存储的登陆用户密码 * @return NSString */+ (NSString *)getPassword;@end实现类

HRAccountTool.m:

<pre name="code" class="objc">#import "HRAccountTool.h"@implementation HRAccountTool+ (void)saveAccount:(NSArray *)account{NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];//保存数据 用户信息;用户名;用户密码[userDefaults setObject:account forKey:@"account" ];[userDefaults setObject:[account objectAtIndex:0] forKey:@"userName" ];[userDefaults setObject:[account objectAtIndex:1] forKey:@"passWord" ];};+ (NSArray *)getAccount{NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];NSArray *array = [userDefaults objectForKey:@"account"];return array;};+ (NSString *)getUserName{NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];NSString *userName = [userDefaults objectForKey:@"userName"];return userName;};+ (NSString *)getPassword{NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];NSString *passWord = [userDefaults objectForKey:@"passWord"];return passWord;}@end在AppDelegate.m的页面跳转方法中,可以调用获取用户信息/用户名的方法来判断是否需要登陆。不需要则直接进入主页,,需要则进入登陆页:

– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];self.window.backgroundColor = [UIColor whiteColor];// 先判断有无存储账号信息if ([HRAccountTool getUserName] == nil) { // 之前没有登录成功self.window.rootViewController = [[HRLoginViewController alloc] init];} else {// 之前登录成功//self.window.rootViewController = [[IWOAuthViewController alloc] init];}[self.window makeKeyAndVisible];return YES;}如进入登陆页 在登陆事件中 持久化登陆用户信息到NSUserDefault中,即可保证下次免登陆:

– (void) loginCheck{// 1.创建请求管理对象AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];// 说明服务器返回的JSON数据mgr.responseSerializer = [AFJSONResponseSerializer serializer];// 2.封装请求参数NSMutableDictionary *params = [NSMutableDictionary dictionary];params[@"userName"] = userNameTF.text;params[@"passWord"] = passWordTF.text;// 3.发送请求[mgr GET:@":8080/login/check.do" parameters:paramssuccess:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) {if ([[responseObject objectForKey:@"success"] boolValue] == true) {self.view.window.rootViewController = [[ZYTabBarViewController alloc]init];NSArray *array = [NSArray arrayWithObjects:userNameTF.text, passWordTF.text, nil ];[HRAccountTool saveAccount:array];}else{self.view.window.rootViewController = [[ZYloginViewController alloc]init];}} failure:^(AFHTTPRequestOperation *operation, NSError *error) {HRLog(@"请求失败:%@", error);}];}

一个人目睹沿途的风景,拿着相机,拍下沿途上的风景,

IOS 记录用户登陆状态 第二次免登陆

相关文章:

你感兴趣的文章:

标签云: