首页 > 解决方案 > 尝试打开 UIImage 时意外发现 nil

问题描述

出于某种原因,当我尝试初始化图像时,我得到了 nil。图像保存在 Assets 文件夹中,名称正确。什么会导致它为零?

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == Storyboard.groupDetailsVC {
        if let vc = segue.destination as? GroupDetailsViewController {

            vc.groupImageView.image =  UIImage(named: "icon-checkbox")
            //it outputs error 

        }
    }

}

在此处输入图像描述

标签: swift

解决方案


问题不在图像中,而是在 Vc 加载之前访问 imageView

vc.groupImageView.image =  UIImage(named: "icon-checkbox")

//

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == Storyboard.groupDetailsVC {
        if let vc = segue.destination as? GroupDetailsViewController {
            vc.sendedImage =  UIImage(named: "icon-checkbox")

        }
    }

}

//

class GroupDetailsViewController:UIViewController {
  @IBOutlet weak var groupImageView: UIImageView!
  var sendedImage:UIImage!
  override func viewDidLoad() {
    super.viewDidLoad()
    self.groupImageView = sendedImage

  }
}

推荐阅读