我们都知道,通常在做开发的时候都需要判断用户的在线状态,根据状态的不同决定跳转的界面和返回的数据。
这里本小白写了一个单例类来管理用户信息。
只需要引入头文件穿件单例类即可全局获得用户在线状态以及用户信息。
.h文件
/** 用户id*/
@property (nonatomic ,copy)NSString *userId;
/** 用户名*/
@property (nonatomic ,copy)NSString *userName;
/** 用户头像*/
@property (nonatomic ,copy)NSString *userHeadImage;
/** 创建单例类*/
+(instancetype)shareManager;
/** 判断登录状态*/
-(BOOL)judgeLoginStateIsLogin;
/** 获取userId*/
-(NSString *)getUserId;
/** 获取userName*/
-(NSString *)getUserName;
/** 获取用户头像*/
-(NSString *)getUserHeadImage;
/** 存入所需要的登录状态数据*/
-(void)saveUserAllMessage;
/** 移除所有登录状态的数据*/
-(void)removeUserAllMessage;
.m文件
+(instancetype)shareManager{
static LQUserManager *manager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
manager = [[LQUserManager alloc]init];
});
return manager;
}
/** 保存所有的用户信息*/
-(void)saveUserAllMessage{
[[NSUserDefaults standardUserDefaults] setObject:self.userId forKey:@"userId"];
[[NSUserDefaults standardUserDefaults] setObject:self.userName forKey:@"userName"];
[[NSUserDefaults standardUserDefaults] setObject:self.userHeadImage forKey:@"userHeadImage"];
[[NSUserDefaults standardUserDefaults] setObject:@"isLogin" forKey:@"isLogin"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
/** 删除所有的用户信息*/
-(void)removeUserAllMessage{
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"userId"];
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"userName"];
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"userHeadImage"];
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"isLogin"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
/** 判断用户是否登录*/
-(BOOL)judgeLoginStateIsLogin{
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"isLogin"]) {
return YES;
}
return NO;
}
/** 获得用户id*/
-(NSString *)getUserId{
return [[NSUserDefaults standardUserDefaults]objectForKey:@"userId"];
}
/** 获取用户名称*/
-(NSString *)getUserName{
return [[NSUserDefaults standardUserDefaults]objectForKey:@"userName"];
}
/** 获取用户头像*/
-(NSString *)getUserHeadImage{
return [[NSUserDefaults standardUserDefaults]objectForKey:@"userHeadImage"];
}
直接粘贴即可使用。需要什么用户信息就在.h中声明。在.m中 -( void )saveUserAllMessage存入即可