NSUserDefaults 写入及获取用户的自定义数据
来源:互联网 发布:淘宝刷访客有用吗 编辑:程序博客网 时间:2024/06/10 01:54
当你的app被点开的那一刻,就已经和NSUserDefaults结下了不解之缘,这篇文章给出了利用NSUserDefaults保存和提取用户数据的方法
1.偏好数据设置一般都采用这种方法
[[NSUserDefaultsstandardUserDefaults]setObject:id forKey:@""];
2.当需要保存用户的个人资料(姓名,手机号,头像,昵称,,,,,,)等信息数量比较多的时候使用上面的方式就显得有点繁杂了,这时,我们就需要把这些信息定义成一个User或者其他类然后进行保存
例如:设置一个user类 User
a-初始化它
- (id)initWithDictionary:(NSDictionary *)dic{
self=[superinit];
if (self) {
//code
}
return self;
}
在User类中实现<NSCoding>的代理
并实现以下二个方法:
//编码
- (void)encodeWithCoder:(NSCoder *)aCoder{
[aCoder encodeObject:self._userNameforKey:@"userName"];
}
//解码
- (id)initWithCoder:(NSCoder *)aDecoder{
self=[superinit];
if (self) {
self._userName=[aDecoderdecodeObjectForKey:@"userName"];
}
return self;
}
b-保存数据到NSUserDefaults
//保存本机user
+ (void)saveDefaultsUser:(User *)u{
//编译成二进制
NSData *archiveData = [NSKeyedArchiverarchivedDataWithRootObject:u];
//保存user到本机
[[NSUserDefaultsstandardUserDefaults]setObject:archiveDataforKey:@"DefaultsUser"];
//使内存中的缓存与用户默认系统进行同步
[[NSUserDefaultsstandardUserDefaults]synchronize];
}
c-需要的时候将其取出
//获取本机user
+ (User *)getDefaultsUser{
//获取user的data数据
NSData *unarchiveData = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"DefaultsUser"];
if(unarchiveData == nil){
return nil;
}
//执行二进制反编译
User *u = [NSKeyedUnarchiverunarchiveObjectWithData:unarchiveData];
return u;
}
- NSUserDefaults 写入及获取用户的自定义数据
- NSUserDefaults写入和读取自定义的对象
- NSUserDefaults 数据存储及自定义对象的存储
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象
- C#获取注册表所有写入数据的名称及值
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- NSUserDefaults读取和写入自定义对象
- VC++ 与C 语言的区别
- 中国官场的葵花宝典
- MongoDB——牛X的索引操作
- 决策树归纳分类算法理解
- sourcetree的使用
- NSUserDefaults 写入及获取用户的自定义数据
- Android-Android解析JSON
- 派生类与基类的转换关系
- find命令---Linux学习笔记
- UINavigationController
- ios之performSelector 那点事
- MySQL 查看当前使用的数据库
- html5中datalist简单用法
- Android照片墙应用实现,再多的图片也不怕崩溃