UICollectionView cellForItemAtIndexPath est nul

J'ai une fonction qui met à jour UICollectionView existant. Le UICollectionView est créé, je peux le voir, mais quand je veux accéder à ses cellules pour le mettre à jour, elles sont nulles.

-(void)finishExam{ for (int i = 0; i < [self.questionsOverviewCollection numberOfItemsInSection:0]; i++) { NSLog(@"self.questionsOverviewCollection - %@",self.questionsOverviewCollection); NSLog(@"cell - %@",[self.questionsOverviewCollection cellForItemAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]]); NSLog(@"overviewCell - %@",(OverviewCell*)[self.questionsOverviewCollection cellForItemAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]]); NSLog(@"numOfCells - %d", [self.questionsOverviewCollection numberOfItemsInSection:0]); OverviewCell *cell = (OverviewCell*)[self.questionsOverviewCollection cellForItemAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]]; [cell finishExam]; } } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ OverviewCell *cell = (OverviewCell*)[collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath]; [cell someSetUp]; return cell; } 

Bûche:

 self.questionsOverviewCollection - <UICollectionView: 0xa1abc00; frame = (14 219; 217 441); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0xe0617a0>; layer = <CALayer: 0xe0bbb00>; contentOffset: {0, 0}> collection view layout: <UICollectionViewFlowLayout: 0xe0cc3f0> cell - (null) overviewCell - (null) numOfCells - 30 

A partir des docs UICollectionView (emphase mienne)

Valeur de return
L'object de la cellule sur le path d'index correspondant ou nul si la cellule n'est pas visible ou si indexPath est hors de scope.

Vous devez mettre à jour votre model sous-jacent, qui fournit datatables aux vues.

Essaye ça:

 [collectionView reloadData]; [collectionView layoutIfNeeded];