Как передать изображение / данные в новый контроллер представления из iCarousel - PullRequest
0 голосов
/ 19 мая 2018

У меня настроен iCarousel в одном из моих контроллеров представления, и я хотел бы просто передать то же изображение, которое пользователь нажимает, на следующий контроллер представления.Вот что у меня есть в моей prepareForSegue на VC Карусели:

 var padIndex = [UIImage]()

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



   let nextVC = segue.destination as! BlackViewController

   let indexPath = sender as! NSIndexPath

    nextVC.pad = self.images[indexPath.row]
}

Затем в моем втором ВК у меня есть:

var pad = UIImage()

@IBOutlet weak var padImage: UIImageView!

 override func viewDidLoad() {
    super.viewDidLoad()

     padImage.image = pad
}

Похоже на простую вещь, но я продолжаю получать ошибкучто говорит:

Не удалось преобразовать значение типа 'SampleSequencer.ChooseViewController' (0x10213fe38) в 'NSIndexPath' (0x1025b8440).

Заранее спасибо за миллиард !!

1 Ответ

0 голосов
/ 19 мая 2018

Исключение говорит вам, что у вас есть незаконный актерский состав.Ошибка здесь:

let indexPath = sender as! NSIndexPath

Аргумент sender для prepare(for:sender:) говорит, что это может быть Any?, но на самом деле это не очень полезно, потому что вы можете 'не уверен, что это будет.Вы должны получить IndexPath от iCarouselDelegate (который, вероятно, является вашим собственным контроллером представления, если он реализует iCarouselDelegate), используя метод делегата carousel(_:,didSelectItemAtIndex:).

...