我有一個ViewController是一個CollectionViewDelegate。當用戶點擊圖像時,我想繼續在我的CollectionView中查看圖像的詳細視圖。我將細胞連接到細節VC並使用此代碼。爲什麼發送者在視圖控制器中繼續工作,而不是集合視圖單元格segue
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。這是爲什麼?
'detailImageView.imageName' ???聽起來像它是一個字符串(圖像*名稱*)。如果是這樣,那就是爲什麼你不能將它設置爲'UIImage'。如果'.imageName'實際上是一個圖像,而不是一個字符串,那麼'sender'是什麼?它是一個集合視圖*單元*嗎?如果是這樣,那就是爲什麼... – DonMag
.imageName是一個圖像,對我而言不好。是的,發件人是收集視圖單元格,我想知道爲什麼發件人必須是viewcontroller而不是爲了鑄造(發件人爲!UIImage)才能工作。 –
基本上我的意思是通過連接故事板中的viewcontroller繼續,我能夠檢測到發件人爲在視圖中點擊的UIIMage。另一方面,如果我連接集合視圖單元格繼續,它不檢測在單元格中定義的圖像,而是它檢測到發件人爲單元格本身 –