Swift: didDeselectItemAt indexPath:报错

开发语言:Swift3.2
使用CollectionView的代理方法:didSelectItemAt,报错行代码如下

let cell:ChargeUpCollectionViewCell = collectionView.cellForItem(at: indexPath) as! ChargeUpCollectionViewCell

错误信息:fatal error: unexpectedly found nil while unwrapping an Optional value

具体引起报错的操作为先选中一个cell,再将这个cell滑出屏幕外,再点击任意一个cell,程序就会崩溃.

相同代码使用OC就不会报错,用Swift3.2会出问题


翻翻过去那场雪
浏览 1370回答 2
2回答

jeck猫

对Optional类型强制解包的前提是你得知道其值一定不为nil,否则需要判断if let cell =  collectionView.cellForItem(at: indexPath) as? ChargeUpCollectionViewCell {  // cell可以操作了 }
打开App,查看更多内容
随时随地看视频慕课网APP