将图像放到UIImageView(另一个ViewController)时出错

时间:2018-12-05 07:17:12

标签: swift uiimageview segue

我有两个ViewController- protected void Chart1_PostPaint(object sender, ChartPaintEventArgs e) { Chart1.Series["Series2"].Color = Chart1.Series["Series1"].Color; } ItemInfo。在ShowImage中,我有一个UIImageView ItemInfo,其中包含来自数组的图像:

itemImg

效果很好。

但是我无法将此图像从itemImg.image = UIImage(named:item.img) 的ViewContrloller放到UIImageView fullImage中。来自ShowImage ViewController的代码:

ItemInfo

在线

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
        }
    }

我有一个错误

  

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

请帮助我修复它。

1 个答案:

答案 0 :(得分:2)

fullImage中,由于尚未加载destViewController的view,因此您的ShowImage将为零。

因此,我建议您在var image:UIImage?控制器上使用image属性。

该怎么做?:

  1. 在您的ShowImage控制器中添加destViewController.image= self.itemImg.image
  2. 分配destViewController.fullImage.image = self.itemImg.image而不是ShowImage
  3. 在您的viewDidLoad控制器的fullImage方法中,将image设置为imageView(fullImage.image = image), final HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_XML); HttpEntity requestEntity; if (entity instanceof String) { requestEntity = new HttpEntity(headers); } else { requestEntity = new HttpEntity(searchRequestInput, headers); } try { String response = restTemplate.exchange(baseURL, HttpMethod.POST, requestEntity, String.class).getBody().toString()); } catch (HttpServerErrorException | HttpClientErrorException e) { e.printStackTrace(); }