我正在尝试使用集合视图并在其中显示静态图像,但是我收到以下错误:
[UICollectionViewCell imageView]:无法识别的选择器发送到实例。
我已配置了单元格identifire = Cell
。
这是我的代码:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
SSCollectionViewCell *cell = (SSCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
int imageNumber = indexPath.row % 10;
cell.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"Image%d.jpg",imageNumber]];
return cell;
}
这是sscollectionViewCell.h
代码
@interface SSCollectionViewCell : UICollectionViewCell
@property (weak) IBOutlet UIImageView *imageView;
@end
这是SSColletionViewCell.m
代码
#import "SSCollectionViewCell.h"
@interface SSCollectionViewCell ()
@end
@implementation SSCollectionViewCell
@synthesize imageView;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
@end
任何人都可以建议我犯错的地方。?
答案 0 :(得分:10)
更改
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
要
[self.collectionView registerClass:[SSCollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
答案 1 :(得分:2)
你在ViewDidLoad方法中错过了这个
[self.collectionView registerClass:[SSCollectionViewCell class] forCellWithReuseIdentifier:@“Cell”];
答案 2 :(得分:0)
您的单元格仍然是UICollectionCell,而不是您的自定义SSCollectionViewCell,因为它不知道消息(无法识别的选择器)。
在stroryboard中查看,确保选择collectionCell,并更改它的类(右侧菜单中的第三个选项卡),在CustomClass中放入你的。