2011-01-02 3 views
0

Ich möchte den Bereich (von x bis y) von Datenzeilen anzeigen, die in einer Tabelle angezeigt werden. Das Problem ist, dass wenn ich die Daten mit [self.tableView reloadData] aktualisiere, ich die aktuell angezeigten Daten nicht sofort abfragen kann (es wird noch nicht gesetzt).So erkennen Sie, wenn eine TableView-Anzeige oder Aktualisierung abgeschlossen ist (iOS)

So muss ich ein Ereignis haben, wenn die TableView-Anzeige abgeschlossen ist, wann immer es sich ändert. Aber ich habe das (noch) nicht gefunden.

Danke für jeden, der mich auf den Weg zeigen kann, um diese Notwendigkeit zu erfüllen.

Antwort

3

Ich denke, du gehst hier in die falsche Richtung. Bitte Bitte Bitte verwenden Sie kein TableView als Datenquelle. Ihre Daten sollten in einem eigenen Datenmodell aufbewahrt oder zumindest vom View-Objekt getrennt sein. Sie sollten das TableView nicht nach Daten fragen, ein TableView ist nur eine Darstellung von Daten, die an anderer Stelle gespeichert sind. Aktualisieren Sie das Datenmodell und zeigen Sie diese Änderung in der Tabellenansicht an.

Wenn Sie dem richtigen Model-View-Controller (MVC) -Paradigma folgen, sollte es keinen Grund für einen Rückruf geben, wie Sie es wünschen. Deshalb tut es das nicht.

Versuchen Sie nicht, das Rad neu zu erfinden, verwenden Sie einfach MVC.

Wenn Sie benachrichtigt werden möchten, wenn sich etwas in Ihrem Modell ändert, versuchen Sie die Schlüsselwertbeobachtung (Key-Value Observing, KVO). Dokumentation für KVO und MVC finden Sie unter developer.apple.com.

Viel Glück!

Verwandte Themen