首页 > 解决方案 > 将图像放入 UIImageView(另一个 ViewController)时出错

问题描述

我有两个 ViewController 的 -ItemInfoShowImage. 在ItemInfo我有一个 UIImageViewitemImg与数组中的图像:

itemImg.image = UIImage(named:item.img)

它工作得很好。

但是我不能把这个图像fullImageShowImageViewContrloller 放到 UIImageView 中。ItemInfo来自ViewController的这段代码:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "showImage" {
            let destViewController: showImage = segue.destination as! showImage
            destViewController.title = itemName.text
            destViewController.fullImage.image = self.itemImg.image
        }
    }

在线上

destViewController.fullImage.image = self.itemImg.image

我有一个错误

线程 1:致命错误:在展开可选值时意外发现 nil

请帮我修复它。

标签: swiftuiimageviewsegue

解决方案


在这里destViewController.fullImage.image = self.itemImg.image,您fullImage将为零,因为 destViewControllerview尚未加载。

所以我建议你在你的ShowImage控制器上使用图像属性。

怎么做?:

  1. 添加var image:UIImage?你的ShowImage控制器
  2. 分配destViewController.image= self.itemImg.image而不是destViewController.fullImage.image = self.itemImg.image
  3. 在您的ShowImage控制器viewDidLoad方法中,将图像设置为您的 imageView( fullImage),fullImage.image = image

推荐阅读