我有一个ViewController,它是一个CollectionViewDelegate。当用户点击图像时,我想要在我的CollectionView中切换到图像的详细视图。我将segue从我的单元格连接到详细VC并使用了此代码。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
//segue to detail view of image
if segue.identifier == "ShowDetail",
let detailImageView = segue.destination as? CollectionDetailViewController
{
detailImageView.imageName = sender as! UIImage
}
}
显示的错误是"无法将发件人CollectionView转换为UIImage"。相反,当我通过我的VC进行搜索时,我能够将发送者转发给UIImage。那是为什么?
答案 0 :(得分:0)
我不知道它在你没有显示的代码中是什么或为什么工作...但在这种情况下,如果sender
是一个单元格,你不能简单地声明“现在你是一个UIImage”因此就是这样。
我假设你的集合视图单元格中有UIImageView
,所以更有可能,你想做类似的事情:
if let cell = sender as? MyCustomCell {
if let image = cell.theImageView.image as? UIImage {
detailImageView.imageName = image
}
}
注意:我只是输入此内容,而不是运行它,因此可能需要调整一两次。