首页 > 解决方案 > 如何制作个人资料屏幕

问题描述

我在注册后尝试制作用户个人资料

如何正确地将用户信息从 firebase 数据库上传到个人资料屏幕:

代码顶部

@IBOutlet weak var UsernameText: UILabel!

    @IBOutlet weak var ProfileImage: UIImageView!

    @IBOutlet weak var DisplayText: UILabel!

    var DatabaseRef: DatabaseReference!
    override func viewDidLoad() {
        super.viewDidLoad()


DatabaseRef = Database.database().reference()
 let userID = Auth.auth().currentUser ? .uid
 DatabaseRef.child("users").child(userID!).observeSingleEvent( of: .value, with: {
    (snapshot) in
    // Get user value
    let value = snapshot.value as ? NSDictionary
    let username = value ? ["username"] as ? String ? ? "username"
    let dict: Dictionary < AnyHashable, Any > ? = ["photo": "url of photo"]

    if let profileImageUrl = dict ? ["photo"] as ? String,
     let url = URL(string: profileImageUrl) {
   URLSession.shared.dataTask(with: url) {
     (data, response, error) in
     DispatchQueue.main.async {
      if let imageData = data {
       self.ProfileImage.image = UIImage(data: imageData)
      } else {

      }
     }
     self.UsernameText.text = username
     self.DisplayText.text = username

     print(error ? .localizedDescription as Any)
     return

标签: iosswiftfirebase-realtime-databaseprofile

解决方案


尝试这个

 if let profileImageUrl = dict["photo"] as? String

并确保 profileImageUrl 是照片的实际 url


推荐阅读