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 シリアライゼーションとデシリアライゼーションを使用します。