YapDatabase 项目不强制使用基类。也就是说,不存在YapDatabaseObject
,至少在它不是官方 API 的一部分的意义上。
YapDatabase 本身强制执行的唯一要求是配置的serializer
&deserializer
能够将您的对象转换为 & 从数据 blob。
wiki 文章“存储对象”对此有更多信息:
https ://github.com/yapstudios/YapDatabase/wiki/Storing-Objects
但要点是 YapDatabase 有一个可配置的serializer
& deserializer
,您可以自定义它们以满足您的需求。
typedef NSData* (^YapDatabaseSerializer)(NSString *collection, NSString *key, id object);
typedef id (^YapDatabaseDeserializer)(NSString *collection, NSString *key, NSData *data);
我想将电话簿联系人提取为 APContact 对象,然后将它们存储在 YapDatabase
看起来APContact是一个非常基本的 NSObject,仅包含公共属性。因此,为了实现您的目标,您真正需要的是可以执行 APContact 对象的序列化和反序列化的代码(在您的项目中)。然后在适当的时候调整 YapDatabase 的序列化器和反序列化器以使用您的自定义 APContact 序列化和反序列化。