您的位置:首页 > 移动开发 > IOS开发

iOS 第二课 单例写法 本地存储登入登出 第三方缓冲圈

2015-08-06 17:28 489 查看
单例写法:
+ (User *) shareInstance{

staticdispatch_once_t once;
static
User * instance;
dispatch_once(&once, ^{
instance = [Usernew];
});
return instance;
}
登出,使用系统方法

#define UserDefaultNickname @"nickname"

#define UserDefaultPassword @"password"

#define UserDefaultPhoneNum @"phonenum"

+ (void) logOut{

//删除本地存储

NSUserDefaults *userDefaults = [NSUserDefaultsstandardUserDefaults];
[userDefaultsremoveObjectForKey:UserDefaultPassword];
[userDefaultsremoveObjectForKey:UserDefaultPhoneNum];
[userDefaultssynchronize];//修改立即同步

//云信登出

[[[NIMSDKsharedSDK]
loginManager]logout:nil];
}
登入存储信息到本地,方便自动登入

//将登陆信息存储到本地

//系统方法
NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefaults];
[accountDefaultssetObject:pwd
forKey:UserDefaultPassword];
[accountDefaultssetObject:telNumStr
forKey:UserDefaultPhoneNum];
读取本地存储

NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefaults];
NSString *phonenum = [accountDefaultsobjectForKey:UserDefaultPhoneNum];
NSString *password = [accountDefaultsobjectForKey:UserDefaultPassword];

[SVProgressHUD
show];//缓冲圈

//异步开启线程,主线程执行缓冲圈

/*[SVProgressHUD show];

//开启异步线程

dispatch_async(dispatch_get_global_queue(0, 0), ^{

[T4HttpHelper connectAPIPath:MemberCenterLogin submitParam:@{}

httpMethod:Get successBlock:^(NSDictionary *responseDic) {

//切换到主线程

dispatch_async(dispatch_get_main_queue(), ^{

[SVProgressHUD dismiss];

// write your codes here

});

} errorBlock:^(NSError *error) {

dispatch_async(dispatch_get_main_queue(), ^{

[SVProgressHUD dismiss];

// write your codes here

});

}];

});*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: