Передача изображения на следующий ViewController (Swift) - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь передать кэшированное / загруженное изображение моему контроллеру отображения, которое будет отображаться с разными изображениями. Я могу загрузить изображение и установить его на UIImageView на моем текущем контроллере, или, если я вручную загружу изображение, которое представляет собой UIImage, я могу перейти к нему, назначив его переменной ImageStore. Однако при загрузке моего изображения с помощью метода кэширования / загрузки оно появляется как UIImageView, как я могу передать его как переменную другому контроллеру?

@IBOutlet weak var Image1: UIImageView!



var ImageStore: UIImage!//transfer image code to next screen
var ImageStore: UIImage!//transfer image code to next screen

@IBAction func Chart1Click(_ sender: Any)//chart 1
{
    performSegue(withIdentifier: "Chart1", sender: nil)
}

@IBAction func Chart2Click(_ sender: Any)//chart 2
{
    performSegue(withIdentifier: "Chart2", sender: nil)
}

@IBAction func Button(_ sender: Any)//download charts
{
    Image1.sd_setImage(with: URL(string: "https://www.vedur.is/photos/flugkort/PGDE14_EGRR_0000.png"), placeholderImage: UIImage(named: "placeholder.png"))
 //assing the Image1 to ImageStore ??

//more downloaded here
}


override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
    if (segue.identifier == "Chart1")
    {
        let destinationViewController = segue.destination as! ChartAController
        destinationViewController.TransferImage = ImageStore
        print("Chart 1 Segue")
    }
    if (segue.identifier == "Chart2")
    {
        let destinationViewController = segue.destination as! ChartAController
        destinationViewController.TransferImage = ImageStore2
        print("Chart 2 Segue")
    }
}

1 Ответ

1 голос
/ 10 апреля 2020

Просто отправьте

ImageStore.image

Это должно решить проблему. Если вы хотите отправить изображение вместо imageView.

...