NSUserDefaults存储用户数据到本地
来源:互联网 发布:雨燕轮毂数据 编辑:程序博客网 时间:2024/05/17 03:04
NSUserDefaults存储用户数据到本地
NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。
适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。
NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.
根据自己的所做的项目,使用NSUserDefaults存储了一个自定对象.首先在模型类.h里面继承NSCoding
@interface PersonModel : NSObject <NSCoding>/** 昵称 */@property (nonatomic,copy) NSString *nickname;/** 性别 */@property (nonatomic,copy) NSString *sex;/** 头像 */@property (nonatomic,copy) NSString *headimgurl;@end
在.m文件实现如下两个方法:
@implementation PersonModel- (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:self.nickname forKey:@"nickname"]; [aCoder encodeObject:self.sex forKey:@"sex"]; [aCoder encodeObject:self.headimgurl forKey:@"headimgurl"]; }- (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super init]) { self.nickname = [aDecoder decodeObjectForKey:@"nickname"]; self.sex = [aDecoder decodeObjectForKey:@"sex"]; self.headimgurl = [aDecoder decodeObjectForKey:@"headimgurl"]; } return self;}@end
存储:
// 存储用户数据到本地 // self.user 是模型 self.user = [PersonModel mj_objectWithKeyValues:response[@"data"]]; NSData *userData = [NSKeyedArchiver archivedDataWithRootObject:self.personModel]; [defaults setObject:userData forKey:@"userData"]; [defaults synchronize];
读取数据
// 读取本地数据 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSData *userData = [defaults dataForKey:@"userData"]; self.user = [NSKeyedUnarchiver unarchiveObjectWithData:userData]; if (!self.user) { // 如果没有存储到本地,则加载网络请求数据 // 这里写保存到本地 }
关于NSUserDefaults更多的用法可以参考简书http://www.jianshu.com/p/459c15cf6ce2
0 0
- NSUserDefaults存储用户数据到本地
- NSUserDefaults 本地小量数据存储
- IOS NSUserDefaults-轻量级本地数据存储
- NSUserDefaults用法(轻量级本地数据存储)
- Foundation Framework 轻量级本地数据存储 NSUserDefaults
- iOS 本地轻量级数据存储之NSUserDefaults
- iOS 本地存储NSUserDefaults
- NSUserDefaults用户信息存储本地
- iOS NSUserDefaults本地存储
- NSUserDefaults本地存储 + MD5
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- iOS中NSUserDefaults的用法(轻量级本地数据存储)
- mac上brew使用
- Android Studio 添加jniLib
- CDN和Web Cache领域相关的经典书籍推荐
- 关于SESSION的理解
- [转]www-authenticate认证过程浅析
- NSUserDefaults存储用户数据到本地
- 解决Office 2010 每次打开word时出现配置进度框
- 【XSHELL】Xshell的telnet简化登录
- 使用MyBatis对表执行CRUD操作
- 射频测试
- ImageLoader和Picasso
- VirtualBox NAT 模式下,主机ssh访问虚拟机配置
- Android loading Dialog 自定义
- 解读ThoughtWorks技术雷达