

画像をアプリ内に保存しようとしております。  
現状Realmを使用しているのですが、16MBを超える場合クラッシュしており悩んでおります。  
CoreDataやUserDefaultのような他のものに変えたほうがよろしいでしょうか？

Realmで画像の保存はこちらを参考にしました  
<https://qiita.com/_ha1f/items/593ca4f9c97ae697fc75>


CC BY-SA 4.0
2018-05-14T18:21:07.777
43987
2018-05-14T20:39:23.970
2018-05-14T18:35:11.893
10024
10024
question
swift realm
ローカルDBへ画像を保存する場合の方法


Realmには16MBを超えるプロパティを保存することはできません。仕様です。

<https://realm.io/jp/docs/swift/latest/#section-53>

UserDefaultsはそもそもデータベースの機能は持ってないので要件を満たせるかどうかわかりませんが、UserDefaultsは起動時にすべてをメモリにロードするので、多くの画像を保存する場合、メモリを圧迫しますし、起動が遅くなります。

CoreDataはデータのサイズによる制限はないので、要件を満たしていると思いますが、そもそもバイナリデータは検索もソートも不可能なため、データベースに格納するメリットはほとんどありません。  
画像の本体は別途ファイルとして保存し、RealmやCoreDataなどには保存先を示すパスを格納するのが一般的です。


CC BY-SA 4.0
2018-05-14T20:39:23.970
43988
2018-05-14T20:39:23.970
5519
43987
answer