【问题标题】:How to pass image/data to new view controller from iCarousel如何从 iCarousel 将图像/数据传递给新的视图控制器
【发布时间】:2018-10-29 12:57:17
【问题描述】:

我在我的一个视图控制器中设置了 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)。

提前十亿谢谢!

【问题讨论】:

    标签: ios swift icarousel


    【解决方案1】:

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

    let indexPath = sender as! NSIndexPath

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      相关资源
      最近更新 更多