记录当自己参考的。
先创建一个继承NSObject的User文件。
然后声明要保存的名称,比如
@interface User : NSObject
@interface User : NSObject
@property(strong,nonatomic)NSString *User_address;//地址
@property(strong,nonatomic)NSString *User_contractInfo;
@property(strong,nonatomic)NSString *User_email;//邮件
@property(strong,nonatomic)NSString *User_googleState;//
@property(strong,nonatomic)NSString *User_headUrl;//头像
@property(strong,nonatomic)NSString *User_id;//用户id
@property(strong,nonatomic)NSString *User_mobile;//用户手机
@property(strong,nonatomic)NSString *User_payStatus;//用户支付状态
@property(strong,nonatomic)NSString *User_powerStatus;//
@property(strong,nonatomic)NSString *User_realName;//
@property(strong,nonatomic)NSString *User_sex;//用户性别
@property(strong,nonatomic)NSString *User_storeName;//用户店名
@property(strong,nonatomic)NSString *User_token;//用户token
@property(strong,nonatomic)NSString *User_type;//
@property(strong,nonatomic)NSString *User_username;//用户手机号
@property(strong,nonatomic)NSString *country_areaCode;//国家地区区号
@property(strong,nonatomic)NSString *country_enName;//国家名字英文
@property(strong,nonatomic)NSString *country_id;//国家id
@property(strong,nonatomic)NSString *country_language;//国家语言
@property(strong,nonatomic)NSString *country_localCurrency;//国家币种
@property(strong,nonatomic)NSString *country_sort;//国家sort
@property(strong,nonatomic)NSString *country_zhName;//国家名字中文
- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
@end
@interface UserManager : NSObject
/**
存储用户信息
@param dic 服务器获取来的用户信息字典
@return <#return value description#>
*/
- (BOOL)saveUserInfo:(NSDictionary *)dic;
/**
取用户信息
@return 返回用户信息模型
*/
- (User *)userInfo;
/**
清空用户信息
@return <#return value description#>
*/
- (BOOL)clearUserInfo;
@end
在.m文件就
@implementation User
-
(instancetype)initWithDictionary:(NSDictionary *)dictionary
{
if ([dictionary isKindOfClass:[NSDictionary class]])
{
if (self = [super init])
{
[self setValuesForKeysWithDictionary:dictionary];
}
}
return self;
} -
(void)setValue:(id)value forKey:(NSString *)key
{
if ([value isKindOfClass:[NSNull class]])
{
return;
}
[super setValue:value forKey:key];
}
pragma mark ————————— 对未定义key的处理方法 —————————————
- (void)setValue:(id)value forUndefinedKey:(NSString *)key
{
// id 变量名现在可以直接使用,比如你要将服务器的 id 转成 userid
if([key isEqualToString:@"id"])
{
// self.userid = value;
// return;
}
}
@end
@implementation UserManager
-
(BOOL)saveUserInfo:(NSDictionary *)dic
{
return [NSKeyedArchiver archiveRootObject:dic toFile:[self path]];
} -
(User *)userInfo
{
id data = [NSKeyedUnarchiver unarchiveObjectWithFile:[self path]];
User *model = [[User alloc]initWithDictionary:data];
return model;
} -
(BOOL)clearUserInfo
{
NSFileManager *defaultManager = [NSFileManager defaultManager];
if ([defaultManager isDeletableFileAtPath:[self path]])
{
//删除归档文件
return [defaultManager removeItemAtPath:[self path] error:nil];
}
else
{
return NO;
}
}
/**
Documents/ 保存应用程序的重要数据文件和用户数据文件等。用户数据基本上都放在这个位置(例如从网上下载的图片或音乐文件),该文件夹在应用程序更新时会自动备份,在连接iTunes时也可以自动同步备份其中的数据。
Library:这个目录下有两个子目录,可创建子文件夹。可以用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份.
Library/Caches: 保存应用程序使用时产生的支持文件和缓存文件(保存应用程序再次启动过程中需要的信息),还有日志文件最好也放在这个目录。iTunes 同步时不会备份该目录并且可能被其他工具清理掉其中的数据。
Library/Preferences: 保存应用程序的偏好设置文件。NSUserDefaults类创建的数据和plist文件都放在这里。会被iTunes备份。
@return <#return value description#>
*/
+(NSString *)path
{
// // 获取沙盒根目录路径
// NSString *homeDir = NSHomeDirectory();
// // 获取Documents目录路径
// NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];
// //获取Library的目录路径
// NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject];
// // 获取cache目录路径
// NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject];
// // 获取tmp目录路径
NSString *tmpDir = NSTemporaryDirectory();
// // 获取应用程序程序包中资源文件路径的方法:
// NSString *bundle = [[NSBundle mainBundle] bundlePath];
NSString *name = @"userinfo";
NSString *type = @"sql";
NSString *allName = [NSString stringWithFormat:@"%@.%@",name,type];
return [tmpDir stringByAppendingPathComponent:allName];;
}
@end
对这个进行使用
存
[UserManager saveUserInfo:@{@"User_address":Userdic[@"address"]}];
取
User *model = [UserManager userInfo];
NSLog(@"===%@",model.User_address);
网友评论