YapDatabase可以直接储存(序列化)对象,包括自定义对象,但是你要让对象实现NSCoding协议。
当然,也可以自己向YapDatabase提供序列化/反序列化对象。自己去实现这一过程。
- (id)initWithPath:(NSString *)path
serializer:(YapDatabaseSerializer)serializer
deserializer:(YapDatabaseDeserializer)deserializer;
- (id)initWithPath:(NSString *)path objectSerializer:(YapDatabaseSerializer)objectSerializer
objectDeserializer:(YapDatabaseDeserializer)objectDeserializer
metadataSerializer:(YapDatabaseSerializer)metadataSerializer
metadataDeserializer:(YapDatabaseDeserializer)metadataDeserializer;
/**
The default serializer & deserializer use NSCoding (NSKeyedArchiver & NSKeyedUnarchiver).
Thus any objects that support the NSCoding protocol may be used.
*Many of Apple's primary data types support NSCoding out of the box.
It's easy to add NSCoding support to your own custom objects.
**/
(YapDatabaseSerializer)defaultSerializer;
(YapDatabaseDeserializer)defaultDeserializer;
/**
Property lists ONLY support the following: NSData,NSString,NSArray,NSDictionary,NSDate,and NSNumber.
Property lists are highly optimized and are used extensively by Apple.
Property lists make a good fit when your existing code already uses them,
such as replacing NSUserDefaults with a database.
**/
(YapDatabaseSerializer)propertyListSerializer;
(YapDatabaseDeserializer)propertyListDeserializer;
/**
A FASTER serializer & deserializer than the default,if serializing ONLY a NSDate object.
You may want to use timestampSerializer & timestampDeserializer if your metadata is simply an NSDate.
**/
(YapDatabaseSerializer)timestampSerializer;
(YapDatabaseDeserializer)timestampDeserializer;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。