Ich verspreche eine EASY :)die aktuellen Zeitstempel unter Verwendung aller Post abzufragen, bevor diese Zeit
Howdy, las ich bin zur Zeit stecken. Ich möchte alle Post abfragen, beginnend mit dem neuesten Post zuerst anstelle des ältesten Posts. Warum? Weil es die einzige Möglichkeit ist, die Paginierung in meine TableView einzufügen. (Was bedeutet, Nachladen, wenn der Benutzer auf den Boden bekommt)
Lets sagen, ich habe 10 Beiträge mit dem ältesten # 1 beginnen und die neueste # 10: 1,2, ..., 10 Wenn ich Abfrage beschränkt auf die ersten 5 Post bekomme ich [1,2,3,4,5] dann reverse ich das Array, die [5,4,3,2,1] auf meinem Tableview beginnend mit 5.
zeigen wirdAUSGABE: Das Problem ist, sobald der Benutzer an den unteren Rand der Tabellenansicht gelangt, wenn ich die nächsten fünf Beiträge ab dem Zeitstempel des letzten Beitrags abfrage, bekomme ich ... [6,7,8,9 , 1 0]
Aber jetzt meine Tabellenansicht korrigieren wird nicht mehr, wie es [5,4,3,2,1,10,9,8,7,6] zeigen Ich hoffe, dass, wenn Ich kann das aktuelle Gerätedatum als Zeitstempel verwenden und den gesamten Beitrag vorher wie unten gezeigt abfragen: Ich kann im Wesentlichen [10,9,8,7,6] dann erhalten, wenn Benutzer den Boden erreicht: [10,9, 8,7,6,5,4,3,2,1]
let todayTime. TimeInterval = NSDate() timeIntervalSince1970
FIRDatabase.database().reference().child("post").child(animal).queryOrderedByValue().queryEnding(atValue: todayTime, childKey: "datePost").queryLimited(toLast: 5).observe(.value, with: {(snapshot) in
Schreiben Sie einfach Ihre Zeitstempel als negative Werte und alles andere fällt in Position. Ich habe eine Antwort auf eine andere Frage geschrieben, die [Negative Firebase Timestamp] (https://stackoverflow.com/questions/43203910/how-to-create-negative-firebase-timestamp-in-swift/43379902#43379902) – Jay
helfen kann Erstmal danke für die Antwort !! Aber hehe, deine Antwort ist sehr kompliziert - ich kann die Zeitstempel nicht negativ bewerten, da sie auf der Feuerbasis gemacht werden. Meinst du von dir antwortest auf deinen vorherigen Beitrag, dass ich den Timestamp, der auf firebase gemacht wurde, abfrage, dann mache ich es negativ? Entschuldigung nicht ein englischer Muttersprachler – 24hrcoder
Wie in der anderen Antwort angegeben, können Sie nicht direkt einen Timestamp von Firebase (im Code) erhalten, aber wenn es geschrieben wird (nach dem Code in meiner Antwort), können Sie den Knoten beobachten, in den geschrieben wird Dadurch erhalten Sie den Zeitstempel in einem Snapshot. Sie können es dann negativ (im Code) machen und es auf Ihre Knoten schreiben, die eine Bestellung benötigen. Bei einem negativen Zeitstempel erfolgt die Sortierung über diesen Zeitstempelknoten und natürlich in der richtigen Reihenfolge, wobei das neueste "oben" ist. Also wird die Reihenfolge -10 (neuestes), -9, -8 ....- 1 sein. Also lies in -10 bis -5, dann -4 bis -1 etc. – Jay