IOS 记录用户登陆状态 第二次免登陆
来源:互联网 发布:淘宝联盟一个月赚多少 编辑:程序博客网 时间:2024/06/05 11:26
NSUserDefault是苹果提供给我们用来存储用户的登陆信息的持久化类。下面用实例看下记录登陆状态的过程
首先创建用于存取用户信息的方法类
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:@"http://localhost:8080/login/check.do" parameters:params success:^(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); }]; }
0 0
- IOS 记录用户登陆状态 第二次免登陆
- IOS开发之记录用户登陆状态
- IOS开发之记录用户登陆状态
- iOS开发之记录用户登陆状态
- IOS开发之记录用户登陆状态
- ios中记录用户登录,第二次免登录
- centos 记录用户登陆
- 第二次登陆
- iOS 保持登陆状态
- 免登陆
- 获取Magento用户登陆状态
- Android用户登陆状态信息
- iOS开发之记录用户登陆代码实现
- Centos查看用户登陆记录
- windows查看用户登陆记录
- jsp利用session记录登陆状态,保证用户的使用连贯性,并且防止未登录用户绕过登陆页
- iOS 程序员眼中的客户端免登陆
- Cookies+Session保存用户登陆状态
- ViewPager中添加和删除Fragment
- 第三章作业3.22
- POJ 1080 Human Gene Functions(DP)
- Android弹出窗口PopuWindow
- 【Jsp】把Java写到Respond输出流里面供用户下载
- IOS 记录用户登陆状态 第二次免登陆
- iOS开发--UIPickerView的动画效果
- JAVA参数传值
- 堆(heap)和栈(stack)有什么区别??
- poj 2112 Optimal Milking (输出超限)
- 川大oj 4429
- 动态页面技术(jsp)
- 第51页17题
- 【矩阵快速幂】POJ 3070 Fibonacci (大数 Fibonacci)(大二版)