我目前有这个功能来检索当前用户图像图像网址,但我想要使用用户ID而不是currentUser如何做到这一点。一切都适用于代码,但我只是希望能够在其他用户上使用该功能
func ProfileImage(imageUIView:UIImageView,borderColor:UIColor,borderWidth:CGFloat,backgroundColor:UIColor,noimageLabel:UILabel){
if let user = FIRAuth.auth()?.currentUser{
if user.photoURL == ""{
print("database image is not set")
imageUIView.layer.borderWidth = borderWidth
imageUIView.layer.masksToBounds = false
imageUIView.layer.borderColor = borderColor.CGColor
imageUIView.layer.cornerRadius = imageUIView.frame.height/2
imageUIView.clipsToBounds = true
imageUIView.backgroundColor = backgroundColor
noimageLabel.hidden = false
}else{
imageUIView.layer.borderWidth = borderWidth
imageUIView.layer.masksToBounds = false
imageUIView.layer.borderColor = borderColor.CGColor
imageUIView.layer.cornerRadius = imageUIView.frame.height/2
imageUIView.clipsToBounds = true
imageUIView.backgroundColor = backgroundColor
noimageLabel.hidden = true
var imageUrl = NSData(contentsOfURL: user.photoURL!)
imageUIView.image = UIImage(data: imageUrl!)
}
}
}
答案 0 :(得分:2)
有关Firebase数据结构的详细信息,无需提供完整的答案,但我可以指导您走正确的道路。
只要您的用户存储了唯一标识符作为其键,您就可以使用此引用来检索其个人资料图片的网址。
var userRef = FIRDatabase.database().reference().child(<url to user ids> + "\(unique user id)") // this creates a FIRDatabase ref to the specified user id
userRef.observeSingleEventOfType(.Value, :withBlock: { (snapshot)
// perform desired functionallity with the image URL from the specified user
})
希望这有帮助!