我有一個collectionview單元格,它上面有一個圖像,下面有一個按鈕。現在,當我點擊這個按鈕時,我想加載一個tableviewCell
,其上有來自collectionview的圖像。要做到這一點,我這樣做最初..在collectionview中訪問indexPath
func SellBtnTapped(_ sender: UIButton) {
let indexPath = collectionView?.indexPath(for: ((sender.superview?.superview) as! RecipeCollectionViewCell))
self.photoThumbnail.image = self.arrayOfURLImages[(indexPath?.row)!]
和photoThumbnail
的定義是這樣的... var photoThumbnail: UIImageView!
但這樣做給人一種崩潰告訴'Unexpectedly found nil while unwrapping an optional value'
所以,我想這個..
let point = sender.convert(CGPoint.zero, to: self.collectionView)
let myIndexPath = self.collectionView.indexPathForItem(at: point)
self.photoThumbnail.image = self.arrayOfURLImages[(myIndexPath?.row)!]
但同樣,Unexpectedly found nil....
也發生了同樣的崩潰。任何想法可能是什麼問題..?
編輯: 這是cellForItemAtIndex...
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: identifier, for: indexPath as IndexPath) as! RecipeCollectionViewCell
cell.sellButton.tag = indexPath.item
cell.sellButton.addTarget(self,action: #selector(SellBtnTapped(_:)),for: .touchUpInside)
return cell
}
添加您的CollectionView(_的CollectionView:?UICollectionView方法的代碼 – iPatel
並解釋其中一線錯誤發生在 –
你的意思是cellForItemAt ... @iPatel – bws