在单元格的ImageView中设置图像时,CollectionView NSInvalidArgument

时间:2018-07-10 08:17:44

标签: ios objective-c uicollectionview uiimageview

我正在使用集合视图来提示图像,但遇到了问题。当我尝试将图像设置为UIImageView时(在我的单元格中),它崩溃了,并说NSInvalidArgument是日志:

-[UICollectionViewCell img]: unrecognized selector sent to instance 0x7ff063f81170
2018-07-10 10:10:50.645635+0200 App[41377:5706851]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[UICollectionViewCell img]: 
unrecognized selector sent to instance 0x7ff063f81170'

这是代码的一部分错误:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
   CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

   // Configure the cell
   cell.img.image = [UIImage imageNamed:@"test"];
   return cell;
}

我100%确信应该可以正常工作,因为我对UITableView使用了相同的方法,并且图像可以正确显示。

感谢您的答复。

更新:  如果可以,这是我的故事板的屏幕:   interface builder

2 个答案:

答案 0 :(得分:1)

根据您发布的错误:

  

-[UICollectionViewCell img]:无法识别的选择器已发送到实例0x7ff063f81170

显而易见的原因是,从tableview中出队的单元格实例没有方法“ img”。

我想也许reuseIdentifier是不正确的,所以您得到了不实现“ img”方法的类单元实例错误。

答案 1 :(得分:1)

检查您的重用标识符并将您的单元格转换为您的班级

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView 
  cellForItemAtIndexPath:(NSIndexPath *)indexPath {
 CollectionViewCell *cell = (*CollectionViewCell)[collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

 // Configure the cell
 cell.img.image = [UIImage imageNamed:@"test"];
 return cell;
}