我的项目中有两个pod:
一,YapDatabase
用于键值存储。
二,APAddressBook
来处理电话簿。
我希望将电话簿联系人提取为APContact
个对象,然后将其存储在YapDatabase
中。
问题是YapDatabase
希望保存对象以使用自己的方式(作为子类)进行序列化。
我想将APContact
修改为YapDatabaseObject
的子类,但它们位于两个不同的pod中。
如何在没有错误OTRYapDatabaseObject.h
的情况下将APContact
导入"OTRYapDatabaseObject.h" file not found
?
谢谢
答案 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序列化&适当时反序列化。