iphone – 控制台错误:必须使用非零布局参数初始化UICollectionView

前端之家收集整理的这篇文章主要介绍了iphone – 控制台错误:必须使用非零布局参数初始化UICollectionView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是UICollectionView的新手,我正在按照我在Youtube上找到的教程,但我遇到了一个我无法弄清楚的错误.

当我使用此代码运行应用程序时:

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {

        return 1;

    }

    -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {

        return [self.array count];

    }

    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

        CollectionCell *aCell = (CollectionCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"myCell" forIndexPath:indexPath];

        aCell.title.text = self.array[indexPath.row];

        return aCell;

    }

    - (void)viewDidLoad
    {
        [super viewDidLoad];

        self.array = @[@"First",@"Second",@"Thirth",@"Fourth"];

    }

而在.h:

@property (strong,nonatomic) NSArray *array;

在控制台中,我收到以下错误

Terminating app due to uncaught exception 'NSInvalidArgumentException',reason: 'UICollectionView must be initialized with a non-nil layout parameter'

我没有使用故事板,自定义了CollectionView你可以在这里看到:

有没有人有任何想法,为什么我收到此错误?一切都是受欢迎的!

编辑:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.array = @[@"First",@"Fourth"];

    [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"myCell"];

    UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init];
    [flow setItemSize:CGSizeMake(60,60)];
    [flow setScrollDirection:UICollectionViewScrollDirectionVertical];

    [self.collectionView setCollectionViewLayout:flow];

}

解决方法

注册uicollectionviewcell视图类时出错.要解决,请在代码添加以下行:

[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"myCell"];

猜你在找的Xcode相关文章