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
});
}];
});*/
+ (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
});
}];
});*/
相关文章推荐
- 一些iOS常用的第三方库和控件
- iOS 工具类 SSToolkit
- [IOS 开发] XCTAssert单元测试
- iOS开发——如何切图适配各种机型
- iOS tableviewcell重用机制避免重复显示
- IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别
- ios 获得设备型号方法
- iOS常用第三方类库及Xcode插件
- 修复iOS7、iOS8下leftBarButtonItem位置相比之前版本靠右的问题
- 关于iOS的多线程处理方式
- Drogon——利用 method swizzling 解决 iOS APP 限制 URL 跳转的问题
- iOS 合并带有透明通道的视频-
- IOS学习之ios应用数据存储方式(归档)
- ios 清理缓存
- OC之使用MD5加密字符串、NSData和文件的方法
- IOS学习之ios应用数据存储方式(偏好设置)
- IOS学习之ios应用数据存储方式(XML属性列表-plist)
- iOS设计模式之单例模式
- ios 打开图片库和相机选择图片界面修改为简体中文
- IOS内存管理--自动释放池的实现原理