iOS 储存用户信息设置封装 直接调用即可(部分是代码片段)
、、、、、、、、、、、、、、、、、、首先 定义 UserInfo
#import <Foundation/Foundation.h>
@interface UserInfo : NSObject
//用户id
@property (nonatomic, strong) NSString *userID;
//用户名
@property (nonatomic, strong) NSString *userName;
//密码
@property (nonatomic, strong) NSString *userPassword;
//昵称
@property (nonatomic, strong) NSString *userNickName;
//用户头像
@property (nonatomic, strong) NSString *HeadImg;
//注册日期
@property (nonatomic, strong) NSString *createTime;
-(id)initWithDictionary:(NSDictionary *)dic;
@end
#import "UserInfo.h"
@implementation UserInfo
- (id)init {
if (self = [super init]) {
self.userID = @"";
self.userName = @"";
self.userPassword = @"";
self.userNickName = @"";
self.HeadImg = @"";
self.createTime = @"";
}
return self;
}
- (id)initWithDictionary:(NSDictionary *)dic {
if (self = [super init]) {
self.userID = dic[@"userID"];
self.userName = dic[@"userName"];
self.userPassword = dic[@"userPassword"];
self.userNickName = dic[@"userNickName"];
self.HeadImg = dic[@"HeadImg"];
self.createTime = dic[@"createTime"];
}
return self;
}
- (NSString *)description {
return [NSString stringWithFormat:@"userID:%@,userName:%@,userPassword:%@,userNickName:%@,HeadImg:%@,createTime:%@",self.userID,self.userName,self.userPassword,self.userNickName,self.HeadImg,self.createTime];
}
-(void)encodeWithCoder:(NSCoder *)aCoder{
[self yy_modelEncodeWithCoder:aCoder];
}
-(id)initWithCoder:(NSCoder *)aDecoder{
self = [super init];
return [self yy_modelInitWithCoder:aDecoder];
}
@end
、、、、、、、、、、、、、定义 UserManager
#import <Foundation/Foundation.h>
#import "UserInfo.h"
@interface UserManager : NSObject
@property (nonatomic, strong) UserInfo *userInfo;
//判断是否是登录状态
+(BOOL)isLogin;
//储存用户信息
+(void)saveUserObject:(UserInfo *)userinfo;
//获取用户基本信息
+(UserInfo *)getUserObject;
//退出登录,清除用户信息
+(void)logoOut;
@end
#import "UserManager.h"
@implementation UserManager
+ (BOOL)isLogin {
BOOL loginState;
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSData *data = [userDefault objectForKey:@"1userObject"];
if (data.length > 0) {
loginState = YES;
}else{
loginState = NO;
}
return loginState;
}
+(void)saveUserObject:(UserInfo *)userinfo{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:userinfo];
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setObject:data forKey:[NSString stringWithFormat:@"%@userObject",@"1"]];
}
+(UserInfo *)getUserObject{
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSData *data = [userDefault objectForKey:@"1userObject"];
return [NSKeyedUnarchiver unarchiveObjectWithData:data ];
}
+(void)logoOut{
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"1userObject"];
}
@end
、、、、、是否登录判断
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (![UserManager isLogin]) {
LoginViewController *vc = [[LoginViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
self.window.rootViewController= nav;
} else {
NSLog(@"%@",[UserManager getUserObject]);
UserInfo *userInfo = [UserManager getUserObject];
NSLog(@"%@",userInfo);
NSLog(@"zzzzz%@",userInfo.userName);
MainTabBarController *tabBar = [[MainTabBarController alloc] init];
self.window.rootViewController = tabBar;
}
return YES;
}
、、、、、、、、、、、添加用户信息到本地设置
if ([str isEqualToString:@"101"]) {
[SVProgressHUD showInfoWithStatus:@"登录成功"];
for (NSDictionary *dic in [responseObject objectForKey:@"data"]) {
UserInfo *userInfo = [[UserInfo alloc] init];
userInfo.userID = [dic objectForKey:@"id"];
userInfo.userName = [dic objectForKey:@"username"];
userInfo.userPassword = [dic objectForKey:@"password"];
userInfo.HeadImg = [dic objectForKey:@"headimg"];
[UserManager saveUserObject:userInfo];
NSLog(@"id%@",userInfo.userID);
NSLog(@"username%@",userInfo.userName);
NSLog(@"password%@",userInfo.userPassword);
NSLog(@"headimg%@",userInfo.HeadImg);
}
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
MainTabBarController *VC = [MainTabBarController alloc];
window.rootViewController = VC;
} else {
[SVProgressHUD showErrorWithStatus:[responseObject objectForKey:@"msg"]];
}
iOS 储存用户信息设置封装 直接调用即可(部分是代码片段)相关推荐
- java程序实现wifi连接打印_Android下通过wifi调用打印机打印,Java代码片段分享,
Android下通过wifi调用打印机打印 chongq 分享于 2小时前 4972阅 0人收藏此代码, 好图网图标搜索引擎,提供超过60万的免费图标.PNG图标.ICO图标.ICNS图标.网页图标 ...
- Python工厂模式封装各类Webhook群聊机器人代码片段
引言 企业存在给 特定群组 自动推送消息的需求,比如:监控报警推送.销售线索推送.运营内容推送等. 你可以在群聊中添加一个自定义机器人,通过服务端调用 webhook 地址,即可将外部系统的通知消息即 ...
- 浙里办开发票据认证单点登陆、令牌获取用户信息
浙里办开发票据认证单点登陆.令牌获取用户信息(JAVA后端处理) 最近在搞浙里办开发,周边的人里都没人接触过,以至于自己摸索搞起来比较心累.浙里办单点登陆需要在IRS上走申请,审核流程通过后,和指 ...
- springcloudalibaba架构(31):SpringCloud实现用户信息在微服务之间传递(Feign和Dubbo)
文章目录 前言 第一节 微服务间用户信息传递问题 第二节 解决思路 第三节 实践操作(基于Feign) 1. 调用链路说明 2. shop-common改造 3. 开启注解 4. 启动服务器测试 第四 ...
- 微服务间用户信息共享机制
文章目录 前言 第一节 微服务间用户信息传递问题 第二节 解决思路 第三节 实践操作(基于Feign) 1. 调用链路说明 2. shop-common改造 3. 开启注解 4. 启动服务器测试 第四 ...
- php获取公众号微信用户信息
error_reporting(1); header('Content-type:text/html; Charset=utf-8'); /* 配置开始 */ $appid = ''; //微信公众平 ...
- 登录页面设置cookie,用户登录后,创建cookie保存用户信息
代码要求: 用户登录后,创建cookie保存用户信息 设置cookie的有效期为5分钟 在登录页循环遍历cookie数组,判断是否存在指定名称的cookie,若存在则直接跳转至欢迎页面 代码实现过程: ...
- 把数据保存到cook_将用户信息保存到Cookie中
/** * 把用户保存到Cookie * * @param request * @param response * @param member */ private void rememberPwdA ...
- php微信小程序获取用户信息,微信小程序获取openid及用户信息的方法
本文主要介绍微信小程序如何获取openid及用户信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 1. 获取openid 1.1 获取code 调用接口获取登录凭证(code ...
最新文章
- tomcat常用的优化和配置
- Java学习之Iterator(迭代器)的一般用法(转)
- Sphinx 文档例子
- 天天早上慢跑一小时对身体好吗?
- python3 ftplib_python3从零学习-5.10.9、ftplib—FTP 协议客户端
- rhel6.3搭建iscsi-target服务器实战
- [Js-Java SE]文件/文件夹复制(递归)
- [导入]意外的,博客被点名了。参与游戏吧。
- html按钮调用php函数,如何在html按钮上执行php函数点击
- 【信息学奥赛一本通】题解目录
- Linux系统在Xshell6布置定时任务
- JAVA_OPTS参数说明与配置
- 遇到问题--python--BLOB/TEXT column 'code' used in key specification without a key length
- 长链亲脂性二烷基碳菁类染料DiR iodide,DiR细胞膜染料,100068-60-8
- 二补数(2’scomplement)乘法算法及其Verilog实现 - 固定系数h
- 网络工程师学习笔记——RIP路由汇总实验配置精讲
- JPEG图像压缩详解
- UNR #1 火车管理
- Ip-adress.com:国际IP地址查询工具
- 初识ollvm控制流平坦化
热门文章
- 一些实用的 Javascript 代码
- Linux下通过gettimeofday函数获取程序段执行时间
- joc杂志影响因子2019_2019年放射学领域SCI主要杂志影响因子汇总
- 怎么在PHP植入音乐,PHP网站插入音乐
- 面向对象设计原则_聊聊面向对象的6大设计原则
- 接口是什么意思_程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口...
- 设计模式学习2:单例模式
- 编写纳新网站后端的相关知识总结
- 职校中的计算机学的是什么,职校计算机专业主要学什么课
- 军用软件概算计价规范_工程造价五算:估算、概算、预算、结算、决算