我的应用因以下原因崩溃

[UICollectionViewFlowLayout collectionView:numberOfItemsInSection:]: unrecognized selector sent to instance.

这是因为我的委托方法在我的UICollectionReusableView中,它不是视图控制器。在为UICollectionView设置委托时,如何将UICollectionView嵌入UICollectionViewSectionHeader内并防止我的应用程序崩溃。
#import "HomeBannerReusableView.h"
#import "HomeBannerCell.h"

@interface HomeBannerReusableView () <UICollectionViewDelegate, UICollectionViewDataSource>
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;

@end

@implementation HomeBannerReusableView

- (void)awakeFromNib {
    // Initialization code
    [self.collectionView registerNib:[UINib nibWithNibName:@"HomeBannerCell" bundle:nil] forCellWithReuseIdentifier:@"HomeBannerCell"];
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return 1;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    HomeBannerCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"HomeBannerCellReusableView" forIndexPath:indexPath];
    return cell;
}

最佳答案

无需将collectionView委托和dataSource设置为UIViewController的子类。在我看来,您不小心将dataSource设置为布局,而不是HomeBannerReusableView。检查设置的位置(XIB,情节提要,代码)。

10-08 11:46