iOS开发之记录用户登陆代码实现
来源:互联网 发布:linux 抓取log日志 编辑:程序博客网 时间:2024/05/18 13:12
原文:http://www.cnblogs.com/ludashi/p/3950951.html
NSUserDefault是苹果提供给我们用来存储用户的登陆信息的一个类,当然是持久化的了,废话不多说了。我们就模拟一个用户登陆和注销的demo来学习一下如何使用NSUserDefault来存储用户的登陆信息。
1.首先我们得有一个登陆页面对应的类为ViewController.h, 在登陆页面有两个TextField和一个Button用来接受用户的输入,在点击Button中的回调的方法中,如果用户登陆成功,则把用户信息存入UserDefault中,然后以模态的方式来跳转到主界面,首先我们要获取UserDefault的单例,登陆页面中的登陆按钮回调的方法代码如下:
- (IBAction)tapLogin:(id)sender { //获取用户输入的信息 NSString *username = self.usernameTextField.text; NSString *password = self.passwordTextField.text; //对用户信息的验证 if ([username isEqualToString:password]){ //获取userDefault单例 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; //登陆成功后把用户名和密码存储到UserDefault [userDefaults setObject:username forKey:@"name"]; [userDefaults setObject:password forKey:@"password"]; [userDefaults synchronize]; //用模态跳转到主界面 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; id mainViewController = [storyboard instantiateViewControllerWithIdentifier:@"MainView"]; [self presentViewController:mainViewController animated:YES completion:^{ }]; } }
2.处理完登陆页面,我们会处理根据UserDefault中的name属性是否有值来选择加载哪个页面。在storybaord中我们默认的是主界面,在AppDelegate.m中如果未登陆,我们会设置一下rootViewController,代码如下
//判断是否登陆,由登陆状态判断启动页面 //获取UserDefault NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSString *name = [userDefault objectForKey:@"name"]; //获取storyboard UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; //如果用户未登陆则把根视图控制器改变成登陆视图控制器 if (name == nil) { NSLog(@"%@",name); id view = [storyboard instantiateViewControllerWithIdentifier:@"LoginView"]; self.window.rootViewController = view; }
3.经过上面的代码我们就可以根据用户登陆状态来选择加载的信息,在登陆后的页面中,我们添加一个按钮,用来退出。在退出按钮回调的方法中,我们需要把之前保存的用户信息进行remove掉,同时用模态的方式来跳转到登陆页面,代码如下:
- (IBAction)tapLoginOut:(id)sender { //获取UserDefaults单例 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; //移除UserDefaults中存储的用户信息 [userDefaults removeObjectForKey:@"name"]; [userDefaults removeObjectForKey:@"password"]; [userDefaults synchronize]; //获取storyboard UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; //获取注销后要跳转的页面 id view = [storyboard instantiateViewControllerWithIdentifier:@"LoginView"]; //模态展示出登陆页面 [self presentViewController:view animated:YES completion:^{ }];
下面的截图是在storyboard中的截图,运行出的效果和下面一样,到此我们就可以实现记录用户的登陆状态了
0 0
- iOS开发之记录用户登陆代码实现
- IOS开发之记录用户登陆状态
- IOS开发之记录用户登陆状态
- iOS开发之记录用户登陆状态
- IOS开发之记录用户登陆状态
- iOS开发之用户登陆信息存储
- IOS学习记录之登陆界面各功能的实现
- web开发之用户登陆
- IOS 记录用户登陆状态 第二次免登陆
- Python之简易用户登陆代码
- 【安卓学习之代码学习】 用户登陆界面之EditText实现
- centos 记录用户登陆
- IOS开发记录用户登录状态
- 登陆用户统计代码!
- iOS开发实用技术之第三方登陆
- objective-c 实现用户验证,登陆 Xcode iOS
- Centos查看用户登陆记录
- windows查看用户登陆记录
- nagios nrpe监控Linux
- http访问url的问题
- [Erlang]系统内部监控工具
- Unity Shader 学习笔记(十二) 创建程序纹理贴图
- 毕设周记Ⅱ
- iOS开发之记录用户登陆代码实现
- Echarts柱状图js代码
- javadongdong testtest
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- 消息队列实现数据同步
- hadoop安装
- vi 怎么 保存, 退出编辑
- nagios邮件报警
- git常用命令(转自程序员之家)