12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- //
- // Created by apple on 2017/4/5.
- // Copyright © 2017年 Danson. All rights reserved.
- //
- #import "UserInfo.h"
- /**infoKeys是用来在userDefault里面存取数据的
- */
- static NSArray *infoKeys;
- static UserInfo *userInfo = nil;
- void SaveObjectForKey(id object, NSString *key);
- @implementation UserInfo
- +(UserInfo *)shareInfo
- {
- static dispatch_once_t onceToken ;
- dispatch_once(&onceToken, ^{
- userInfo = [[UserInfo alloc] init] ;
-
- infoKeys = @[@"userDict",@"defaultHttp"];
-
- NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
- for (NSString *key in infoKeys)
- {
- //读取空字典不会导致崩溃
- id obj = [ud objectForKey:key];
- [userInfo setValue:obj forKey:key];
- }
- }) ;
- return userInfo ;
- }
- -(void)setUserDict:(NSDictionary *)userDict
- {
- NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithDictionary:userDict];
- for (NSString *akey in dic.allKeys) {
- id obj = dic[akey];
- if ([obj isEqual:[NSNull null]]) {
- [dic setValue:@"" forKey:akey];
- }
- }
-
- _userDict = [NSMutableDictionary dictionaryWithDictionary:dic];
-
- SaveObjectForKey(dic, infoKeys[0]);
- }
- -(void)setDefaultHttp:(NSString *)defaultHttp
- {
- _defaultHttp = defaultHttp;
- SaveObjectForKey(defaultHttp, infoKeys[1]);
- }
- @end
- void SaveObjectForKey(id object, NSString* key)
- {
- NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
- if (!object || [object isEqual:[NSNull null]]) {
- if ([ud objectForKey:key]) {
- [ud removeObjectForKey:key];
- }
- }else{
-
- [ud setObject:object forKey:key];
- }
- [ud synchronize];
- }
|