開発中の迷子のペットを探すアプリ(おかえりペット)において、
ユーザ間で共有しない設定データを
どこに保存するかを考えていたのですが、
iOSにはコアデータという仕組みを使ったSQLiteなどのDBへの保存方法と、
UserDefaultsというkey-value形式で
データを保存する2種類があるのですが、
違いがわかっていなかったので、調べてみました。
【コアデータ】
・画像データなど比較的大きなサイズのデータを保存するのに適している
・データ同士を関連付けて管理することに適している
【UserDefaults】
・データを端末のDisk上に保存し、メモリ上に展開して利用するためパフォーマンスに優れている
・メモリ上に展開して利用するため、画像などの大きなサイズのデータを使うと逆にパフォーマンスが落ちる
・key-value形式で使えるので便利
コアデータとUserDefaultsにはこのような違いがあるようです。