Die Zelle von UICollectionView verschwindet

Was ist los

Derzeit habe ich eine Anwendung, die zwei verwendetUICollectionViews in einemUITableView. Auf diese Weise erstelle ich eine Pulse News-ähnliche Anwendung. Mein Problem dabei ist, dass manchmal die 6. und 11. Reihe komplett verschwinden und ein Leerzeichen hinterlassen, wo es die Zelle sein sollte. Es würde mir eigentlich nichts ausmachen, wenn alle Zellen so wären (und auf diese Weise könnte ich annehmen, dass ich die Dinge nicht richtig mache), aber die Sache ist, dass es nur mit diesen bestimmten passiert.

Meine Theorie

Die sechste und elfte Zeile werden angezeigt, wenn ich mit dem Scrollen beginne. Standardmäßig sehe ich 5 Zellen, und wenn ich das erste horizontale Scrollen durchführe, erscheint die sechste Zeile (manchmal ein Leerzeichen).

Was ich habe

Das Einzige, was ich im Moment mache, ist Folgendes:

 [self.collectionView registerNib:[UINib nibWithNibName:CELL_NIB_NAME bundle:nil] forCellWithReuseIdentifier:CELL_IDENTIFIER];

Auf derviewDidLoad. Und bei der Erstellung der Zelle:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    MyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CELL_IDENTIFIER forIndexPath:indexPath];

    NSMutableDictionary *dictionary = [self.DataSource objectAtIndex:[indexPath row]];

    [cell buildViewWithDictionary:dictionary withReferenceParent:self.referenceViewController];

    return cell;
}

Also nach meinem Verständnis ist hier nichts Besonderes los. Die Datenquelle (eine Dummy-JSON-Datei) hatte zwar einen Fehler, aber manchmal funktioniert sie in Ordnung, und die Zelle zeigt ihn an. Ich denke, dieser Teil ist in Ordnung.

Also meine "Frage": Weiß jemand, was los ist? Ich möchte nicht wirklich sagen, dass es ein Fehler von iOS ist, aber mir fällt nichts anderes ein.

Edit 1.0

Das Erstaunliche ist, dass diese Methode

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

Geht abindexPath [0,4] bis [0,6] ohne Berechnung der [0,5]. Zum ersten Mal sehe ich das tatsächlich in iOS.

Edit 2.0

Ich habe die Art und Weise gewechselt, wie ich die Zellen erstelle, und anstatt mich in die Warteschlange zu stellen, verwende ich die alte Art und Weise:

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CELL_NIB_NAME owner:self options:nil];
MyCell *cell = (MyCell *)[nib objectAtIndex:0];

Immer noch das selbe traurige Ergebnis.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage