将pod中的.h文件包含到同一xcworkspace中的另一个pod中

时间:2016-02-03 07:51:56

标签: ios cocoapods yapdatabase

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

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


如何在没有错误OTRYapDatabaseObject.h的情况下将APContact导入"OTRYapDatabaseObject.h" file not found

谢谢

1 个答案:

答案 0 :(得分:0)

YapDatabase项目不强制实施基类。也就是说,没有YapDatabaseObject这样的东西,至少在它不是官方API的一部分的意义上。

YapDatabase本身强制执行的唯一要求是配置的serializer& deserializer能够将您的对象转换为&来自数据blob。

维基文章"存储对象"有关于此的更多信息: 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序列化&适当时反序列化。