【问题标题】:Firebase UI does not work for me (cannot download images) swiftFirebase UI 对我不起作用(无法下载图像) swift
【发布时间】:2020-05-24 14:23:24
【问题描述】:

我有两个问题:

  1. profilePicture 函数应该放在代码的什么位置?
  2. 当“images/island.jpg”的数据返回时,我该怎么办?

你们能帮帮我吗?截至目前,该代码对我不起作用。

代码:

import UIKit
import Firebase
import FirebaseUI

class testProfileViewController: UIViewController {

    @IBOutlet var pfp: UIImageView!

    let uid = Auth.auth().currentUser!.uid
    let pathReference = Storage.storage().reference(withPath: "profileImages")

    override func viewDidLoad() {
        super.viewDidLoad()
        profilePicture()
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
    }

    func profilePicture(){

        pfp.layer.cornerRadius = pfp.frame.size.width / 2
        pfp.clipsToBounds = true

        let imageView: UIImageView = self.pfp

        let ref = pathReference.child(uid)

        ref.getData(maxSize: 1 * 1024 * 1024) { data, error in
          if let error = error {
            print(error)
          } else {
            // Data for "images/island.jpg" is returned
            let image = UIImage(data: data!)
            print("it worked")
          }
        }

        }
}

【问题讨论】:

  • 您可能已经尝试了很多东西,但要尝试的导入操作是实际实现下载文件的代码。入门指南Download files 中有一个很好的示例。试一试,通过更新问题让我们知道您遇到的问题。此外,请注意路径的定义方式 - 在问题中它当前是 your_storage/profileImages/profileImages/uid 这可能不是您想要的。
  • 问题是:你描述的路径,其实是我需要的照片的路径@Jay
  • 真的吗? /profileImages/profileImages/?正如我在上面的评论中提到的,问题中没有实际下载文件的代码。
  • 这样更好,但由于您的控制器有一个 pfp 类 var,它是一个 UIImageView,您可以将这个 let image = UIImage(data: data!) 替换为 if let data = data { self.pfp.image = UIImage(data: data) }。除此之外,什么不起作用?为了帮助我们帮助您,请进行一些进一步的故障排除以找出问题所在,然后将其包含在问题中。您可以从添加断点开始,然后单步执行代码,看看哪里出错了。
  • 太棒了!我将我的评论作为答案。既然它有帮助,请接受它,以便它可以帮助其他人。 How To Accept

标签: swift firebase firebaseui


【解决方案1】:

由于控制器有一个imageView类var,pfp,

class testProfileViewController: UIViewController {
    @IBOutlet var pfp: UIImageView!

可以直接解决。所以这段代码可以替换

let image = UIImage(data: data!)

有了这个 - 注意我们正在安全地解开可选数据变量

if let data = data { 
   self.pfp.image = UIImage(data: data)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多