Firebaseのrealtime databaseから取得した画像をUIImageViewで表示したいのですが、
機能せずに困っております。
以下の場合は表示されますが、
swift
1 2@IBOutlet weak var selectedUserImage: UIImageView! 3let fromAppDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate 4 5 6 //該当するユーザ画像を取得 7 ref.child("Users").child(fromAppDelegate.facebookId).observe(.value, with: { (snapshot) in 8 9 print(self.fromAppDelegate.facebookId) 10 11 self.ref.child("match").child(self.fromAppDelegate.facebookId).updateChildValues(["coming": self.user?.uid]) 12 13 let items = snapshot.value as! [String: Any] 14 15 let userImage = items["image"] as! String 16 17 let url2 = URL(string: userImage) 18 19 20 21 URLSession.shared.dataTask(with: url2!, completionHandler: { (data, response, error) in 22 print("note") 23 24 25 DispatchQueue.global().async{ 26 DispatchQueue.main.async{ 27 //ここでUIImageView!で出力させている。 28 self.selectedUserImage.image = UIImage(data:data!) 29 } 30 } 31 }).resume() 32 return 33}) 34
一度、以下のようにAppDelegateファイル上の変数(var matchingUserImage:UIImage!)で画像データを保持した後に、
self.fromAppDelegate.userImage = UIImage(data:data!)
以下のようにself.selectedUserImage.imageへ代入すると画像が表示されなくなってしまいます。
self.selectedUserImage.image = self.fromAppDelegate.userImage
画像の出力方法をご存知の方がいればご教示いただけないでしょうか!
よろしくお願いします!!!
あなたの回答
tips
プレビュー