首页 > 解决方案 > 无法将图像发送到下一个视图控制器 - 无

问题描述

我正在从我的数据库中下载图像并尝试将其发送到另一个 viewController。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let dest = segue.destination as? ProfileTableViewController {
        print(self.logo)
        dest.LogoImageView.image = logo           //error shows up here 
        dest.Nametext.text = Name
        dest.Usernametext.text = Username
        dest.docID = docID
    }

我的获取文档功能有这个

imageID = document.data()["profilepic"] as! String
let StorageRef = self.store.reference(withPath: "proflepics/\(imageID).jpg")

StorageRef.getData(maxSize: 1 * 1024 * 1024) { (data, error) in
    if let error = error {
       print("error\(error)")
    } else {
       self.logo = UIImage(data: data!)
       print("downloading..")
       DispatchQueue.main.async {
           self.reloadInputViews()
       }
                        
    }                  
}

终端显示:

downloading..

Optional(<UIImage:0x60000315fde0 anonymous {1125, 2436}>)

Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file /Users/ikshitapuri//Me /TableViewController.swift, line 58

标签: iosswift

解决方案


我的坏我认为你的图像被编码为以任何方式串起来

var newImage: UIImage! // ADD THIS

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let dest = segue.destination as? ProfileTableViewController {
    print(self.logo)
    newImage = self.logo // ADD THIS
    dest.LogoImageView.image = newImage.image      // ADD THIS      
    dest.Nametext.text = Name
    dest.Usernametext.text = Username
    dest.docID = docID
}

推荐阅读