![](/img/trans.png)
[英]Download image from Firebase with SDWebImage - Swift Error "Unexpected non-void return value in void function"
[英]Unexpected non-void return value in void function while calling data from firebase
我正在嘗試從 firebase 調用數據,該數據將圖像視圖更改為存儲在數據庫中的視圖。 當我調用我的代碼時,我看到
let image: UIImageView = {
let uid = Auth.auth().currentUser?.uid
Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
guard let dictionary = snapshot.value as? [String : Any] else {
return }
let user = MyUser(dictionary: dictionary as [String : AnyObject])
let profileImageView = UIImageView()
profileImageView.translatesAutoresizingMaskIntoConstraints = false
profileImageView.contentMode = .scaleAspectFill
profileImageView.layer.cornerRadius = 30
profileImageView.clipsToBounds = true
profileImageView.image = UIImage(named: "app")
profileImageView.image=#imageLiteral(resourceName: "user")
profileImageView.loadImageUsingCacheWithUrlString(user.profileImageUrl!)
return profileImageView
}, withCancel: { (err) in
print("attempting to load information")
})
// return profileImageView
}()
注釋掉的返回函數在哪里,我收到錯誤 Use of unresolved identifier 'profileImageView'; 你的意思是'provideImageData'? 為什么? 我會假設由於返回在閉包內,它會知道 profileImageView 是什么。
分離圖像視圖和實時數據庫監聽器:
let imageView: UIImageView {
let imageView = UIImageView()
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFill
imageView.layer.cornerRadius = 30
imageView.clipsToBounds = true
return imageView
}
let uid = Auth.auth().currentUser?.uid
Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
guard let dictionary = snapshot.value as? [String : Any] else {
return }
let user = MyUser(dictionary: dictionary as [String : AnyObject])
// Set the image view's image
imageView.image = // ...
}, withCancel: { (err) in
print("attempting to load information")
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.