Mit UITableView können Sie Bearbeitungsvorgänge im Stapel bearbeiten, indem Sie beginUpdates
und endUpdates
verwenden.
Meine Frage ist: Muss ich zuerst wissen, ob es Löschungen oder Einfügungen macht? Oder kann ich auf alles anhand des Indexpfads vor beginUpdates
verweisen und es wird auf magische Weise funktionieren?
Angenommen, ich habe eine Tabelle:
%Vor%Ich möchte es in:
verwandeln %Vor%Also habe ich B gelöscht (was bei 0,1 lag) und H eingefügt (das nach D - bei 0,4 vor den Löschungen oder nach 0,3 eingefügt wurde).
Also, zwischen meinen Anfangs- / Endeaktualisierungsaufrufen, welche von diesen wird funktionieren?
Die entsprechende Apple-Dokumentation hierzu finden Sie unter Bestellung von Operationen und Indexpfaden .
Löschen und erneutes Laden in einem Animationsblock legen fest, welche Zeilen und Abschnitte in der ursprünglichen Tabelle entfernt oder erneut geladen werden sollen. Einfügungen geben an, welche Zeilen und Abschnitte zur resultierenden Tabelle hinzugefügt werden sollen. Die Indexpfade, die zum Identifizieren von Abschnitten und Zeilen verwendet werden, folgen diesem Modell.
Die Tabellenansicht führt also zuerst alle Lösch- oder Aktualisierungsoperationen aus, deren Indexpfade auf Indexpfade im ursprünglichen Tabelleninhalt verweisen. Dann werden Einfügungen durchgeführt, und diese Indexpfade verweisen auf Indexpfade , nachdem Löschungen aufgetreten sind.
Also sollte theoretisch Ihre Nummer "2" die gewünschte Option sein.
Tags und Links uitableview ios cocoa-touch