今まで、NSDictionaryを使ってドキュメントをCRUDをしてきましたが、実はモデルを使ったほうが俄然使いやすいです!
なので、今回はCBLModelというクラスを利用していきます。
これを使うことにより、面倒だったNSDictionaryの作成などがなくなります。
以下のように宣言します。
ひとつのドキュメントに格納したいデータを、上記のようにプロパティ宣言をし、.mで@dynamic宣言をすればそれだけでおしまいです。
とっても簡単です。
ドキュメント作成
ドキュメント読み込み
ドキュメント更新
ドキュメント削除
いかがでしょう。Modelを使うことで、今まであったDictionaryの操作がなくなり、プロパティへ直接アクセスすることで操作が可能になります。
ドキュメント操作時に出てきていたCBLDocumentも読み込み時にしか出てきません。
作成、更新はputではなく、saveを使うように変わり、意味的にもちょっとわかりやすくなります。
モデル化のメリット
- プロパティによる値の明確化
- 作成、更新が容易になる
- NSDate,NSDataなどの利用が容易になる
いちいちこのドキュメントには何が入ってて…とかログで確認したくもないですし、NSDictioary直で触るの嫌だから、このために新たに自作モデルクラスを…なんて事になってしまってはものすごい手間です。
そして、NSDateやNSDataを内部で補完する機能を持っているので、何も考えずにプロパティ宣言をして値を渡してしまえば簡単に保存してくれます。ちなみに、NSDataはbase64に勝手に変換してくれます。
おそらくモデルを利用することがCouchbase Liteの基本となるかな、と。