CollectionView doppelte Zelle beim Laden von mehr Daten

8

Das Problem:

Ich habe eine CollectionView, die ein UIimage in jede Zelle lädt. Mein Problem ist jedoch, dass wenn ich zusätzliche Zellen mit mehr Bildern lade, sie zu duplizieren scheinen. Ich kann nicht genau sehen, was das in meinem Code verursachen könnte. Könnte es wegen eines Problems mit wiederverwendbaren Zellen sein?

Kann jemand sehen, warum das passiert?

HINWEIS: Das Array mit den Bildern enthält keine Duplikate

Problemvideo: Ссылка

Bild des Problems:

Hier sind meine Funktionen für collectionView:

%Vor%

Hier lade ich die Daten aus einer Wrapper-Klasse:

%Vor%

Und zuletzt rufe ich an: loadFirstMovies() in viewDidLoad()

BEARBEITEN: The UpcomingCollectionViewCell

%Vor%     
Mat0 12.11.2015, 15:14
quelle

2 Antworten

12

Dies ist ein typisches Setup-Problem bei der Tabellenansicht / Sammlungsansicht.

Jedes Mal, wenn Sie eine Zelle mithilfe einer Methode wie ' dequeueReusableCellWithReuseIdentifier: ' aus der Warteschlange wiederverwenden, müssen Sie immer alle Ansichten in der Zelle vollständig konfigurieren, einschließlich der Einstellung aller Textfelder / Bildansichten auf ihre Startwerte. Ihr Code enthält mehrere if-Anweisungen, bei denen die Bedingung für if falsch ist und Sie die Ansichten in der Zelle nicht einrichten. Sie müssen else-Klauseln haben, die den alten Inhalt aus den Ansichten der Zelle löschen, falls vom letzten Gebrauch der Zelle noch Inhalt übrig ist.

** BEARBEITEN:

Ändern Sie Ihre cellForItemAtIndexPath -Methode so, dass sie wie folgt beginnt:

%Vor%     
Duncan C 12.11.2015, 15:23
quelle
2

Versuchen Sie in Ihrer benutzerdefinierten Zellen setupData() -Methode Folgendes:

%Vor%     
André Slotta 12.11.2015 15:24
quelle