collectionView(collectionView,didSelectItemAt:indexPath)-无法调用非函数类型'UICollectionView的值

时间:2018-11-29 23:21:23

标签: ios swift uicollectionview

我有一个collectionView。我设置了它的dataSource和委托方法,当用户第一次进行选择时,我调用func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { }

如果用户离开视图控制器并回到视图控制器,则我在viewWillAppear中调用以下方法,以编程方式强制选择单元格并滚动回到最初选择的单元格。

let whateverCellWasChosen = 29
let indexPath = IndexPath(item: whateverCellWasChosen, section: 0)

collectionView.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: false)
collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .centeredHorizontally)

// problem is here
collectionView(self.collectionView, didSelectItemAt: indexPath)

但是当尝试调用didSelectItem的手动版本时,我总是收到以下错误:

  

无法调用非函数类型'UICollectionView'的值

enter image description here

该错误源于接受collectionView的第一个参数。为什么给我一个问题?

1 个答案:

答案 0 :(得分:0)

使用

collectionView.delegate?.collectionView!(collectionView, didSelectItemAt: indexPath)