iOS 储存用户信息设置封装 直接调用即可(部分是代码片段)
来源:互联网 发布:top100高频算法 编辑:程序博客网 时间:2024/06/03 13:47
、、、、、、、、、、、、、、、、、、首先 定义 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 = [superinit]) {
self.userID =@"";
self.userName =@"";
self.userPassword =@"";
self.userNickName =@"";
self.HeadImg =@"";
self.createTime =@"";
}
return self;
}
- (id)initWithDictionary:(NSDictionary *)dic {
if (self = [superinit]) {
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 [NSStringstringWithFormat:@"userID:%@,userName:%@,userPassword:%@,userNickName:%@,HeadImg:%@,createTime:%@",self.userID,self.userName,self.userPassword,self.userNickName,self.HeadImg,self.createTime];
}
-(void)encodeWithCoder:(NSCoder *)aCoder{
[selfyy_modelEncodeWithCoder:aCoder];
}
-(id)initWithCoder:(NSCoder *)aDecoder{
self = [superinit];
return [selfyy_modelInitWithCoder:aDecoder];
}
@end
#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 = [NSUserDefaultsstandardUserDefaults];
NSData *data = [userDefault objectForKey:@"1userObject"];
if (data.length >0) {
loginState = YES;
}else{
loginState = NO;
}
return loginState;
}
+(void)saveUserObject:(UserInfo *)userinfo{
NSData *data = [NSKeyedArchiverarchivedDataWithRootObject:userinfo];
NSUserDefaults *userDefault = [NSUserDefaultsstandardUserDefaults];
[userDefault setObject:dataforKey:[NSStringstringWithFormat:@"%@userObject",@"1"]];
}
+(UserInfo *)getUserObject{
NSUserDefaults *userDefault = [NSUserDefaultsstandardUserDefaults];
NSData *data = [userDefault objectForKey:@"1userObject"];
return [NSKeyedUnarchiverunarchiveObjectWithData:data ];
}
+(void)logoOut{
[[NSUserDefaultsstandardUserDefaults] removeObjectForKey:@"1userObject"];
}
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (![UserManagerisLogin]) {
LoginViewController *vc = [[LoginViewControlleralloc] init];
UINavigationController *nav = [[UINavigationControlleralloc] initWithRootViewController:vc];
self.window.rootViewController= nav;
} else {
NSLog(@"%@",[UserManagergetUserObject]);
UserInfo *userInfo = [UserManagergetUserObject];
NSLog(@"%@",userInfo);
NSLog(@"zzzzz%@",userInfo.userName);
MainTabBarController *tabBar = [[MainTabBarControlleralloc] init];
self.window.rootViewController = tabBar;
}
return YES;
}
、、、、、、、、、、、添加用户信息到本地设置
if ([str isEqualToString:@"101"]) {
[SVProgressHUDshowInfoWithStatus:@"登录成功"];
for (NSDictionary *dicin [responseObject objectForKey:@"data"]) {
UserInfo *userInfo = [[UserInfoalloc] 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 = [[UIApplicationsharedApplication] keyWindow];
MainTabBarController *VC = [MainTabBarControlleralloc];
window.rootViewController = VC;
} else {
[SVProgressHUD showErrorWithStatus:[responseObject objectForKey:@"msg"]];
}
- iOS 储存用户信息设置封装 直接调用即可(部分是代码片段)
- ios 对于AFNetworking3.0之前版本的Get、Post请求的封装(直接调用即可)
- 利用泛型封装BaseDao(项目中直接调用即可)
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- iOS-封装FMDB框架:各用一句代码更新(添加&修改),查询,删除用户信息
- IOS中UserDefaults的用法(储存和调用设置信息)
- ios app 直接调用系统设置页面
- ios开发,javascript直接调用oc代码
- jquery封装 [全选] 语句,简单调用即可
- OC封装的轮播图->只用调用即可
- delphi的文件夹监控控件,直接封装成可视化的控件,拖一下即可代码。核心为:ReadDirectoryChangesW
- iOS代码片段(持续更新)
- ios常用的代码片段(snippet)
- IOS 开发代码片段(不间断更新)
- 大型网站应用之海量数据和高并发解决方案总结一二
- Hdu 2083 简易版之最短距离
- MNIST识别数字(TensorFlow框架)
- 【Unity3D】无限的横轴背景
- 哲学家就餐问题
- iOS 储存用户信息设置封装 直接调用即可(部分是代码片段)
- SQL语句查询数据库所有表和所有字段的详细信息(包括表描述和字段描述)
- 《Java从小白到大牛精简版》之第3章 第一个Java程序
- JAVA 数据结构
- ngFor循环出来的数组,在判断上区别可以自定义一个属性给循环出来的当前数组,供使用
- 利用OpenCV感知哈希算法进行图片相似度对比
- MongoDB数据库连接
- 树莓派新版系统上使用mjpg实现摄像头监控
- 我的Vim(Gvim) 配置