Schnelle iOS: Firebase Paging

8

Ich habe diese Firebase-Daten:

Ich möchte die posts -Daten durch Paginierung abfragen. Derzeit konvertiert mein Code diesen JS Code in Swift Code

%Vor%

Beim Zugriff auf diese Daten page: 1, count: 1 . Ich kann die Daten für "posts.a" erhalten, aber wenn ich versuche, auf page: 2, count: 1 zuzugreifen, ist die Rückkehr immer noch "posts.a"

Was fehlt mir hier?

    
Jhn 25.05.2016, 07:48
quelle

2 Antworten

12

Vorausgesetzt, dass Sie childByAutoId() verwenden oder verwenden werden, wenn Sie Daten an Firebase senden, können Sie queryOrderedByKey() verwenden, um Ihre Daten chronologisch zu sortieren. Doc hier .

  

Der eindeutige Schlüssel basiert auf einem Zeitstempel, sodass Listenelemente automatisch chronologisch geordnet werden.

Um mit einem bestimmten Schlüssel zu beginnen, müssen Sie Ihre Abfrage an queryStartingAtValue(_:) anhängen.

Beispielverwendung:

%Vor%     
timominous 26.05.2016, 05:00
quelle
1

Ich weiß, dass ich ein bisschen spät dran bin und es gibt eine nette Antwort von timominous , aber ich würde gerne teilen So wie ich das gelöst habe. Dies ist ein vollständiges Beispiel, es geht nicht nur um Seitenumbruch. Dieses Beispiel ist in Swift 4 und ich habe eine nette Bibliothek namens CodableFirebase verwendet (Sie finden sie hier ), um den Firebase-Snapshot zu dekodieren Werte.

Denken Sie außerdem daran, childByAutoId beim Erstellen eines Posts zu verwenden und diesen Schlüssel in postId (oder Ihrer Variablen) zu speichern. Damit können wir es später benutzen.

Nun sieht das Modell so aus ...

%Vor%

Mit dieser Funktion

werden wir die Posts im neuesten zuerst erhalten %Vor%

Nun, in unserem ViewController, gehen die Funktionsaufrufe für die initiale Ladung in viewDidLoad so. Und die nächsten Seiten werden abgerufen, wenn die Tabellenansicht Zellen anzeigt ...

%Vor%     
Gaurav Chandarana 05.04.2018 07:46
quelle