我正在使用集合视图来提示图像,但遇到了问题。当我尝试将图像设置为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使用了相同的方法,并且图像可以正确显示。
感谢您的答复。
答案 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;
}