Differenz von 2 NSArrays zum animierten Einfügen / Löschen in UITableView

8

Irgendwann in meiner Anwendung habe ich ein NSArray, dessen Inhalt sich ändert. Diese Inhalte werden in einer UITableView angezeigt. Ich versuche einen Weg zu finden, den Unterschied zwischen dem Inhalt von vorher und nach dem NSArray zu finden, so kann ich die richtigen indexPaths zu insertRowsAtIndexPaths übergeben: withRowAnimation: und deleteRowsAtIndexPaths: withRowAnimation: um die Änderungen schön animiert zu haben. Irgendwelche Ideen?

thx

    
Alexander Cohen 13.03.2010, 20:04
quelle

2 Antworten

5

Hier ist was ich versuchte und es scheint zu funktionieren, wenn jemand etwas besseres hat, würde ich es gerne sehen.

%Vor%     
Alexander Cohen 13.03.2010 20:13
quelle
2

Diese Frage von 2010 habe ich beim googlen gefunden. Seit iOS 5.0 haben wir nun auch -[UITableView moveRowAtIndexPath:toIndexPath] , mit dem du auch wirklich umgehen willst. Hier ist eine Funktion, die zwei Arrays vergleicht und geeignete Indexpfade für die Lösch-, Einfüge- und Verschiebeoperationen erzeugt.

%Vor%

Ein Beispiel, wie man es benutzt. Angenommen, Sie zeigen eine Tabelle mit Personen an, die Sie im Array self.people behalten. Der Abschnittsindex, in dem die Personen angezeigt werden, ist 0.

%Vor%     
skagedal 15.12.2015 15:20
quelle