NSUserDefaults 数据存储及自定义对象的存储
2014-07-24 09:59
507 查看
NSUserDefaults 是苹果为开发者提供的一个较轻量级的数据存储工具,他支持的存储类型包括NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary。但是如果在NSArray或NSDictionary中存在自定义的对象,就会出现错误,这时候需要将自定义的对象转换为NSData然后存入就不会出现问题了。NSUserDefaults作为存储使用所以以单例方式出现。使用NSUserDefaults来存储一些简单的数据十分的方便而且效率也比较快。
我们先来看看一般的操作
如果你要存储自定义的对象,可以使用<NSCoding>协议中的 - (id) initWithCoder: (NSCoder *)coder方法(对属性编码)和-
(void) encodeWithCoder: (NSCoder *)coder方法(对属性解码)
<span style="font-size:14px;"></span><pre name="code" class="objc"><span style="font-family: Arial;"></span>
我们先来看看一般的操作
<span style="font-size:18px;">//设置当前标题 [[NSUserDefaults standardUserDefaults] setValue:@"Title" forKey:@“CurrentTitle”]; //获得当前标题 [[NSUserDefaults standardUserDefaults] objectForKey:@"CurrentTitle“];</span>
如果你要存储自定义的对象,可以使用<NSCoding>协议中的 - (id) initWithCoder: (NSCoder *)coder方法(对属性编码)和-
(void) encodeWithCoder: (NSCoder *)coder方法(对属性解码)
</pre><pre name="code" class="objc"><span style="font-size:18px;"></span>
<span style="font-size:18px;">@interface Person: NSObject<NSCoding> { NSStirng *name; NSInteger age; } @property (nonatomic, Strong)NSString *name; @property (nonatomic, assign) NSInteger age; @end #import "CMLotteryTicket.h" @implementation CMLotteryTicket @synthesize name; @synthesize age; //将对象编码(序列化) - (void)encodeWithCoder:(NSCoder *)aDecoder { [aDecoder encodeInt:name forKey:@"name"]; [aDecoder encodeInt:age forKey:@"age"]; } //将对象解码(反序列化) - (id)initWithCoder:(NSCoder *)aCoder { if (self = [super init]) { m_ltid = [aCoder decodeIntForKey:@"name"]; m_kktype = [aCoder decodeIntForKey:@"name"]; } return self; } @end Person *person = [[Person alloc] init]; person.age = 15; person.name = @"lilei"; [[NSUserDefaults standardUserDefaults] setValue:person forKey:@“lilei”]; [[NSUserDefaults standardUserDefaults] objectForKey:@"lilei“];</span>
<span style="font-size:18px;"></span>
<span style="font-size:14px;"></span><pre name="code" class="objc"><span style="font-family: Arial;"></span>
相关文章推荐
- AppDelegate存储全局变量和 NSUserDefaults standardUserDefaults 通过模型保存和读取数据,存储自定义的对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- 转-NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- iOS NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- 使用 NSUserDefaults 存储自定义对象
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象(转)