0

我的项目中有两个 pod:一个YapDatabase用于键值存储。
二是APAddressBook处理电话簿。

我想将电话簿联系人提取为APContact对象,然后将它们存储在YapDatabase.
问题是YapDatabase希望保存的对象使用自己的方式(作为子类)进行序列化。
我想将 my 修改APContact为的子类,YapDatabaseObject但它们位于两个不同的 pod 中。


如何,我可以在没有错误的情况下OTRYapDatabaseObject.h导入?APContact"OTRYapDatabaseObject.h" file not found

谢谢

4

1 回答 1

0

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 序列化和反序列化。

于 2016-02-04T18:53:14.147 回答