【iOS】コアデータ vs UserDefaults

開発中の迷子のペットを探すアプリ(おかえりペット)において、
ユーザ間で共有しない設定データを
どこに保存するかを考えていたのですが、
iOSにはコアデータという仕組みを使ったSQLiteなどのDBへの保存方法と、
UserDefaultsというkey-value形式で
データを保存する2種類があるのですが、
違いがわかっていなかったので、調べてみました。

【コアデータ】
・画像データなど比較的大きなサイズのデータを保存するのに適している
・データ同士を関連付けて管理することに適している

【UserDefaults】
・データを端末のDisk上に保存し、メモリ上に展開して利用するためパフォーマンスに優れている
・メモリ上に展開して利用するため、画像などの大きなサイズのデータを使うと逆にパフォーマンスが落ちる
・key-value形式で使えるので便利

コアデータとUserDefaultsにはこのような違いがあるようです。

ABOUTこの記事をかいた人

フリーランスとして働く、フルスタックエンジニア 初崎 匠のサイト。仕事のことから趣味のアニメーション制作、英語学習など、様々なことを通じて、少しでも多くの人が幸せになれるような価値を提供できるよう挑戦し続けます。