Zeile einfügen und Zeile gleichzeitig löschen. UITableView

9

Ich habe also eine UITableView , die eine Videobibliothek darstellt. Die Datenquelle der Bibliothek ist NSMutableDictionary , die für jeden Schlüssel einen NSMutableArray enthält. Jedes der Arrays enthält ein Array mit allen Informationen für jeden Wert.

NSMutableDictionary - & gt; Foreach Key a NSMutableArray enthält - & gt; NSMutableArrays .

tableSectionData ist meine Datenquelle.

Ich habe versucht, eine Zeile in den ersten Abschnitt einzufügen und eine andere Zeile in einem anderen Abschnitt zu löschen. Dies ist der Code, den ich verwende:

BEARBEITEN Dies ist der neue Versuch. Ich aktualisiere zuerst die Datenquelle und füge dann die entsprechenden Zeilen hinzu und lösche sie, die mit meiner dataSource indiziert sind.

%Vor%

Ich dachte, das würde funktionieren, da ich zuerst eine Zeile löschen muss, wenn ich eine Zeile einfügen möchte (in dem Fall, dass ich beides machen möchte.)

Der spezifische Fehler ist folgender:

%Vor%

Ich weiß, was der Fehler sagt, dass ich keine entsprechende Anzahl von Zeilen auf dem Abschnitt habe, aber ich sehe meinen Fehler nicht im Code und ich habe die Datenquelle protokolliert und sie entspricht dem gewünschten Ergebnis.

Jede Hilfe und Vorschläge würden sehr geschätzt werden!

    
Joze 19.02.2013, 12:53
quelle

3 Antworten

10

Sie müssen alle Updates innerhalb der Start / Ende-Update-Methoden durchführen. Es ist immer gültig, wenn Sie mehr als ein UITableView-Update haben.

Und vergessen Sie update dataSource nicht, bevor endUpdates aufgerufen wird!

%Vor%

Ihr Fehler hier - Verwenden Sie in Ihrem Codebeispiel verschiedene Start- / Endaktualisierungsabschnitte

    
iiFreeman 19.02.2013 14:02
quelle
4

Wo ist Ihre dataSource ?

?

vor dem Löschen

%Vor%

vor dem Hinzufügen

%Vor%     
N Sham 19.02.2013 15:17
quelle
-3

Ich denke, Sie müssen UITableView jedes Mal neu laden, wenn Sie Zeilen einfügen oder löschen, indem Sie die genaue Anzahl der Zeilen in numberOfRowsInSection ...

zurückgeben     
gopal 19.02.2013 13:13
quelle