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

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

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

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

解決済

realmに保存した画像のパスから画像を表示させたい

shokoba58
koto

総合スコア84

Swift

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

1回答

0評価

0クリップ

179閲覧

投稿2022/06/02 04:22

realmに保存した画像のパスから画像を表示させたいのですが、シミュレーター上で画像が全く表示できません。

以下該当部分コードです。

swift

/ // AddView.swift // Todo // // import UIKit import RealmSwift class SettingsViewController: UITableViewController,UIImagePickerControllerDelegate, UINavigationControllerDelegate { var itemList: Results<PictItem>! @IBOutlet weak var thmbnaill: UIImageView! let realm = try! Realm() override func viewDidLoad() { super.viewDidLoad() pictDisp() } func pictDisp(){ let pictData = realm.objects(PictItem.self) //URL型にキャスト let fileURL = URL(string: pictData[0].top_url) //パス型に変換 let filePath = fileURL?.path thmbnaill.image = UIImage(contentsOfFile: filePath!) } }

デバッグしたところ、最終的にthmbnaillの中には

String? "/Users/ユーザ名//Developer/CoreSimulator/Devices/853843F4-4C53-447F-B93B-A7EC2B93EF0B/data/Containers/Data/Application/0565AAE3-99D3-45DB-9F10-723DE81E44CA/Documents/07FB20DB-963C-4015-8D45-4B1B484F5279.png" some

といった形で画像が入っていることは確認できました。
また、シミュレーターのフォルダの中も確認したところ、同名の画像ファイルが格納されていました。
しかし、シミュレーターを見るとImageViewが真っ白になっていて表示されていません。
解決法につきまして、教えていただけましたら嬉しいです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2022/06/02 06:57

thmbnaill に入ってるものは画像のパス (フルパス) にみえます。URL 文字列 (file: で始まるもの) ではないので URL(string:) に失敗してるのでは。というか、もともとパスなのにわざわざ一度 URL にしてからパスにする意味が分かりません。あと、フルパスを保存するのは良くないのでは…。
shokoba58

2022/06/10 02:40

遅くなり申し訳ございません。確かに、入れる形式を間違えてたようです。URLとpathの型の違いがよくわかっていなかったようです…。 Realmにファイル名のみ格納→Realmから取り出したファイル名をURL型の変数にappend→path型に変換→ImageViewに表示 でうまく行きました。ありがとうございました!

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Swift

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