質問: こんにちは。 リンク内容リンク先を参考にカメラロールにある画像をアプリに保存する機能を実装しようとしましたが、UserDefaultsは画像のような大きなデータを取り扱うのには不向きです。 そこでアプリにカメラロールから取得した画像を保存(のような形を取る)のに良い手段はありますか? 例えば、取得するためのコードを画像ではなく他の型としてUserDefaultsで保存し、それを表示するviewが読み込まれたらカメラロールからそのコードで特定の画像を持ってくる。 RealmやcoreDateなどの保存方法を取る。 ※データ保存はUserDefaultsしか学習していないため、他の保存方法を推奨して頂く場合、比較的手軽に習得できるものも教えてもらえるとありがたいです なんらかの方法(あまりアプリを重くしない)でタイトルのような機能を実装したい時、皆様ならどのような手段を取りますか。ご回答お待ちしております。
回答: アプリのディレクトリ内に画像を保存するという方法があります。 下記のサイトの「saveImageToDocumentsDirectoryメソッド」が参考になると思います。 (https://qiita.com/tamagalago/items/d2536bddc5ad0d3ed3d3)[https://qiita.com/tamagalago/items/d2536bddc5ad0d3ed3d3] UserDefaultsにはファイル名を保存しておけばアプリのディレクトリから再度データを取得できます。(下記の方法ようなで保存先を指定します。) ``` let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] // このfileNameをUserDefaultsに保存して利用する let fileURL = documentsURL.appendingPathComponent(fileName) ```