Вы можете использовать Delegate для передачи изображения в первый контроллер представления. Запишите этот протокол поверх контроллера второго представления.
protocol SecondViewControllerDelegate: NSObject {
func sendToFirstViewController(image: UIImage)
}
Затем создайте переменную внутри контроллера второго представления
class SecondViewController: UIViewController {
....
weak var customDelegate: SecondViewControllerDelegate?
....
}
Вызовите это из collectionView: didSelectItemAt: indexPath method
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let image = UIImage(named: images [indexPath.item])
customDelegate?.sendToFirstViewController(image: image)
...
}
В First viewController, в котором вы создаете экземпляр второго контроллера представления, поместите эту строку
secondVc.customDelegate = self
, затем создайте расширение для реализации метода делегата
extension FirstViewController: SecondViewControllerDelegate {
func sendToFirstViewController(image: UIImage){
// use this image as your background
}
}