Я пытаюсь получить определенные данные из моей базы данных Firebase - изображение профиля. Как вы можете видеть, это из UITableViewCell. У меня есть @IBOutlet для моего imageView, который я хочу охватить.
Когда пробуждается представление, вы можете видеть, что я go прошел, и убедиться, что я могу получить информацию. Я знаю, как получить данные из Firebase, но не URL-адреса фотографий, а затем преобразовать их в саму фотографию.
Я не уверен, почему это не работает. Я получаю ошибку, и покажу ее ниже. Есть вероятность, что это происходит из-за распаковки URL-адресов или из-за того, что Firebase отформатирован неправильно, хотя я так думаю.
Сообщение об ошибке: Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
import UIKit
import FirebaseAuth
import FirebaseDatabase
import Firebase
class ProfileCellControler: UITableViewCell {
@IBOutlet var name : UILabel!
@IBOutlet var rating : UILabel!
@IBOutlet var imageViewPro : UIImageView!
var databaseRefer : DatabaseReference!
var databaseHandle : DatabaseHandle!
override func awakeFromNib() {
super.awakeFromNib()
var urlString = ""
let urll = URL(string: urlString)!
databaseRefer = Database.database().reference()
let userID = Auth.auth().currentUser!.uid
databaseHandle = databaseRefer.child("Users").child(userID).child("Profile").child("Profile Name").observe(.value, with: { (data) in
print(String((data.value as? String)!))
self.name.text = "\(String((data.value as? String)!))"
print("Done")
})
databaseHandle = databaseRefer.child("Users").child(userID).child("Profile").child("Stars").observe(.value, with: { (data) in
print(String((data.value as? String)!))
if ((String((data.value as? String)!)) == "N/A") {
self.rating.text = "No Rating"
} else {
self.rating.text = "\(String((data.value as? String)!)) ★"
}
print("Done")
})
databaseHandle = databaseRefer.child("Users").child(userID).child("Profile").child("Profile Image").observe(.value, with: { (data) in
print(String((data.value as? String)!))
print("Done \(String((data.value as? String)!))")
urlString = (String((data.value as? String)!))
})
ImageService.downloadImage(withURL: urll) { (image) in
self.imageViewPro.image = image
}
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}