Передать изображение из коллекции в VC

Я перепробовал много методов, которые я не мог заставить это работать

ViewController 1 имеет: Collectionview > Cell > изображение внутри ячейки

ViewController 2 хочу отобразить изображение, которое в VC 1

Когда вы нажимаете на ячейку, она заставляет вас перейти к VC 2

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if segue.identifier == "popup" {

        let viewController: friendpopup = segue.destination as! friendpopup
        let indexPath = sender as! NSIndexPath
        let nicknamex = self.nicknameArray[indexPath.row]
        let usernamex = self.userArray[indexPath.row]
        let photox = self.friendsphotos[indexPath.row] // the photos PFFiles i think


        viewController.snick = nicknamex
        viewController.suser = usernamex
        viewController.sphoto = // ????
}

ник и пользователь работает нормально только изображение, которое я не мог отобразить.

Я пытался, когда вы нажимаете на ячейку, он отправит изображение в VAR, но не работает

var photovar: UIImage!

didSelectItemAt (self.photovar = cell.profilepic.image) затем в prepareSegue( viewcontroller.sphoto = self.photovar)

не проснулся, кто-нибудь может помочь мне исправить это, чтобы отобразить изображение? Спасибо

1 ответ

Решение

Немного ужесточить свой код....

Первый ВК

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "popup" {
        if let vc = segue.destination as? friendpopup {
            let indexPath = sender as! NSIndexPath
            vc.snick = self.nicknameArray[indexPath.row]
            vc.suser = self.userArray[indexPath.row]
            vc.sphoto = self.friendsphotos[indexPath.row]
        }
    }
}

Второй ВК:

// making assumptions on variable types
var snick:String!
var suser:String!
var sphoto:UIImage!

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    // do work here
    if sphoto != nil {
        imageView.image = sPhoto
    } else {
        // set a default image here
    }
}

В основном это похоже на ваш код, но последнее замечание - если первые 2 свойства отображаются правильно, проверьте в первом VC, что вы правильно вытягиваете изображение.

Другие вопросы по тегам