Swift中向UICollectionView添加图片数组遇imageView成员不存在错误
解决UICollectionViewCell找不到imageView的问题
你遇到的这个错误其实是个很常见的小疏忽——你在取出复用cell的时候,错误地把它强制转换成了系统默认的UICollectionViewCell,而不是你自己定义的collectionCell类,所以编译器根本不知道这个cell里有你声明的imageView属性,自然就报错了。
修复方法
只需要修改cellForItemAt方法里的类型转换部分,把as UICollectionViewCell换成as! collectionCell(如果想更安全也可以用可选绑定的方式):
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { // 转换成自定义的collectionCell类,而不是系统默认类 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionCell", for: indexPath) as! collectionCell let image = myImages[indexPath.row] cell.imageView.image = image return cell }
额外需要确认的几个点
为了避免还有其他潜在问题,建议再检查以下内容:
- 打开Storyboard,选中你的collection cell,在Identity Inspector里确认
Class已经设置为collectionCell(不是默认的UICollectionViewCell) - 确认cell的复用标识符"collectionCell"和Storyboard里设置的完全一致(Swift是大小写敏感的,别写错)
- 检查
imageView的IBOutlet连接是否正常,没有出现感叹号或者断开的情况
内容的提问来源于stack exchange,提问作者benjiiiii
相关产品推荐
相关产品推荐

