質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

531閲覧

IPhoneアプリでの画像保存について

nasutaro211

総合スコア21

Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2018/04/13 07:23

今ユーザーが撮った写真を以下のコードでRealmに保存しているのですが、このような形でRealmのデータベースに直接画像を保存するのは果たして正しい方法なのでしょうか?Realmから画像を読み込む際に処理が重くなっているようなので気になりました。他に方法があるとすれば教えていただけると幸いです。検索ワードなどでも良いので教えてください。

swift

1class Image: Object { 2 @objc dynamic var imageData:Data? 3} 4 5class ViewController:UIViewController{ 6 7 /*色々略*/ 8 9 //撮った写真をここにキープします 10 @IBOutlet var imageView: UIImageView! 11 //保存した後にrealmから呼び出してこっちに表示する(今回はこうしているが本来は別viewのtableViewCellの中のimageViewに返す予定) 12 var copyImageView:UIImageView? 13 14 //realmに写真をData型で保存する関数 15 func rgstImage() { 16 let realm = try! Realm() 17 do{ 18 try realm.write { 19 let image = Image() 20 //PNGで保存するとたまに落ちたのでJPEGで保存。これもimageのdataが重いせいな気がしている 21 image.imageData = UIImageJPEGRepresentation(imageView.image!, 1) 22 realm.add(image) 23 } 24 }catch let error{ 25 print(error) 26 } 27 } 28 //realmから写真を呼び戻す関数。tableviewcellのなかのimageに代入するときに使うと重さを感じる。 29 func roadImage() { 30 let realm = try! Realm() 31 let images = realm.objects(Image.self) 32 let copyImageView.image = UIImage(data: images[0].imageData!) 33} 34

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

一つの方法として、画像自体はローカルのドキュメントに保存しておき、データベースにはファイル名やパスを保存するという方法があります。

「swift 画像 保存」などと検索するといろんな情報が出てくると思います。

投稿2018/04/13 11:24

newmt

総合スコア1277

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nasutaro211

2018/08/25 16:35

大変遅くなってしまって申し訳ありません。 検索してそのまま実装していて放置してしまっていました。 無事に完成させられました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問