今ユーザーが撮った写真を以下のコードで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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/25 16:35