无法从 FIRStorage 下载用户个人资料图像



当用户转到用户配置文件选项卡时,他在应用程序中出错并崩溃,而我在URLSession.shared.dataTask 中的Xcode中出错

func setupProfile(){
if Auth.auth().currentUser?.uid == nil{
logout()
}else{
usrnNameButton.isHidden = false
let uid = Auth.auth().currentUser?.uid
databaseRef.child("Users").child(uid!).observeSingleEvent(of: .value,
with: { snapshot in
if let dict = snapshot.value as? [String: AnyObject]
{

if let profileImageuRL = dict["pic"] as? String
{
let url = URL(string: profileImageuRL)
URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async {
self.PP.image = UIImage(data: data!)
}
}).resume()
}
if let coverImageuRL = dict["CoverPic"] as? String
{
let url = URL(string: coverImageuRL )
URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async {
self.coverPic.image = UIImage(data: data!)
}
}).resume()
}
}
})
}
}

这是我设置用户数据的代码
就像任何人都可以帮助我一样谢谢

Xcode 8•Swift 3

如果你想要,用这个下载图像

func downloadImage(url: URL) {
print("Download Started")
getDataFromUrl(url: url) { data, response, error in
guard let data = data, error == nil else { return }
print(response?.suggestedFilename ?? url.lastPathComponent)
print("Download Finished")
DispatchQueue.main.async() {
self.imageView.image = UIImage(data: data)
}
}
}

用法:

if let url = URL(string: "http://www.apple.com/euro/ios/ios8/a/generic/images/og.png") {
downloadImage(url: url)
}

你好,感谢您的重播,现在我们修复了错误,当我们按下配置文件选项卡时,应用程序仍然工作,但配置文件图像没有给我空图像{func setupProfile(({

if Auth.auth().currentUser?.uid == nil{
logout()
}else{
let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest()
//userName.text = changeRequest?.displayName
usrnNameButton.isHidden = false
let uid = Auth.auth().currentUser?.uid
databaseRef.child("Users").child(uid!).observeSingleEvent(of: .value,
with: { snapshot in
if let dict = snapshot.value as? [String: AnyObject]
{

if let profileImageuRL = dict["pic"] as? String
{
//let url = URL(string: profileImageuRL)
//self.downloadImage(url: url!)
//self.PP.image = UIImage(data: data!)
//let resource = ImageResource(downloadURL: profileImageuRL, cacheKey: profileImageuRL)
self.PP.kf.setImage(with: profileImageuRL as? Resource)
}
if let coverImageuRL = dict["CoverPic"] as? String
{
self.coverPic.kf.setImage(with: coverImageuRL as? Resource)
}
}
})
}
}

}

您可以看到的配置文件选项卡图像[https://i.stack.imgur.com/g4ENe.jpg][1]再次感谢

最新更新