読者です 読者をやめる 読者になる 読者になる

LIFULL Creators Blog

「株式会社LIFULL(ライフル)」の社員によるブログです。

Couchbase Liteをモデルを使って操作しよう

今まで、NSDictionaryを使ってドキュメントをCRUDをしてきましたが、実はモデルを使ったほうが俄然使いやすいです!
なので、今回はCBLModelというクラスを利用していきます。
これを使うことにより、面倒だったNSDictionaryの作成などがなくなります。

以下のように宣言します。

CBLModel

ひとつのドキュメントに格納したいデータを、上記のようにプロパティ宣言をし、.mで@dynamic宣言をすればそれだけでおしまいです。
とっても簡単です。

ドキュメント作成

CBLModelでCreate

ドキュメント読み込み

CBLModelでRead

ドキュメント更新

CBLModelでUpdate

ドキュメント削除

CBLModelでDelete

いかがでしょう。Modelを使うことで、今まであったDictionaryの操作がなくなり、プロパティへ直接アクセスすることで操作が可能になります。
ドキュメント操作時に出てきていたCBLDocumentも読み込み時にしか出てきません。
作成、更新はputではなく、saveを使うように変わり、意味的にもちょっとわかりやすくなります。

モデル化のメリット

  • プロパティによる値の明確化
  • 作成、更新が容易になる
  • NSDate,NSDataなどの利用が容易になる

いちいちこのドキュメントには何が入ってて…とかログで確認したくもないですし、NSDictioary直で触るの嫌だから、このために新たに自作モデルクラスを…なんて事になってしまってはものすごい手間です。

そして、NSDateやNSDataを内部で補完する機能を持っているので、何も考えずにプロパティ宣言をして値を渡してしまえば簡単に保存してくれます。ちなみに、NSDataはbase64に勝手に変換してくれます。

おそらくモデルを利用することがCouchbase Liteの基本となるかな、と。