2009-06-04 4 views
0

Ich versuche, eine neue Zelle in eine Tabellenansicht einzufügen, wo die Daten sortiert sind. Gibt es eine einfache & effiziente Möglichkeit, dies über die API zu tun?Effiziente Möglichkeiten, eine neue Zelle in eine sortierte UITableView einzufügen?

Der einfachste Weg scheint die neuen Daten in ein NSMutableArray einzufügen, mit einem Sortierdeskriptor zu sortieren und reloadData aufzurufen. Dies sollte nur die sichtbaren Zeilen wieder anzeigen, so dass es nicht schlecht aussieht.

Wäre es sinnvoll, eine binäre Suche auf dem Datenfeld durchzuführen, die Daten einzufügen und dann die Zelle einzufügen?

Antwort

3

Es hängt wirklich davon ab, wie viele Zeilen in Ihrer Tabelle sind. Wenn Ihre Tabelle nur etwa 10 Zeilen enthält, sollten Sie einfach die Daten zu Ihrer NSMutableArray hinzufügen, umsortieren und die UITableView erneut laden.

Auf der anderen Seite, wenn Ihr Tisch Hunderte oder Tausende von Zeilen hat, werden Sie auf jeden Fall etwas effizienteres tun wollen. Die Verwendung einer binären Suche zum Einfügen Ihrer Daten in Ihre NSMutableArray ist eine gute Idee. Dann müssen Sie nur UITableViewinsertRowsAtIndexPaths:withRowAnimation: aufrufen, um die Zeile der tatsächlichen Tabellenansicht hinzuzufügen. Kein Nachladen erforderlich.

Verwandte Themen