如何从iCarousel

时间:2018-05-19 05:51:11

标签: ios swift icarousel

我在其中一个视图控制器中设置了iCarousel,我想简单地传递用户点击下一个视图控制器的相同图像。以下是我在关于Carousel VC的prepareForSegue中所拥有的内容:

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

然后在我的第二个VC中,我有:

var pad = UIImage()

@IBOutlet weak var padImage: UIImageView!

 override func viewDidLoad() {
    super.viewDidLoad()

     padImage.image = pad
}

似乎是一件简单的事情,但我不断收到错误消息:

  

无法转换类型' SampleSequencer.ChooseViewController' (0x10213fe38)到' NSIndexPath' (0x1025b8440)。

提前感谢十亿人!

1 个答案:

答案 0 :(得分:1)

例外是告诉你,你有非法演员。错误在这里:

let indexPath = sender as! NSIndexPath

sender的{​​{1}}参数说它可以是prepare(for:sender:),但实际上,它并不是非常有用,因为你无法确定它会是什么。您必须使用委托的Any?方法从IndexPath(可能是您自己的视图控制器,如果它实现iCarouselDelegate)获取iCarouselDelegate