SwiftのCoreDataってなんやねんって話



忘れることが多いので

逐一メモしておく。

間違えている場合は親切な方が指摘してくれると思う。

で、コアデータってなんやねんという話。
調べてみたら、

Apple系の製品(WatchOSとかMacOSも含む)アプリ開発ではデバイス単体でオフラインでもアプリのデータを使えるようにしたり、一時的なデータをキャッシュしたりとかするためにコアデータフレームワークなる仕組みでデータを管理してるんだそうな。

それらの特徴としては、

  • アプリケーションにおけるモデルレイヤにあたる部分

  • データを溜めて、取り出して、更新して、削除ができる

  • オブジェクトグラフを管理できる

  • 特別な実装をしなくてもUNDO/REDOができる

  • 一時的なデータをキャッシュできる

  • 大きな枠組としてはデータベースではない(一般的にはSQLiteを使う事が多いみたい)

特徴的にはこんな感じっぽい。

SQLiteってデータベースの枠組みに入るんちゃうんかい・・・と思ったけど、バイナリデータとかXMLファイルで管理することもあるらしく、くくりやすくするためにざっくりとまとめたらそうなったみたい。
あまり納得は言っていない。

オブジェクトグラフというのは例えば本があった時にそれに付随するその本の筆者やジャンルなどの付随情報をグラフ構造で管理している、みたいな形式のことらしい。

データベースを使うんだろうなぁと個人的には思っていたので個人的には衝撃。

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

failed: unable to get local issuer certificate (_ssl.c:1123)と出たので解決した話

自作のChrome Extensionをインポートした時に "Invalid value for 'content_scripts[0].matches[0]': Empty path."というエラーが出たので解決した