[UICollectionViewCell imageView]:无法识别的选择器发送到实例

时间:2014-11-07 07:00:59

标签: objective-c uicollectionview

我正在尝试使用集合视图并在其中显示静态图像,但是我收到以下错误:

  

[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

任何人都可以建议我犯错的地方。?

3 个答案:

答案 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中放入你的。