Ich kämpfe seit Stunden um dieses und kann nicht scheinen, 2 Dinge zu verstehen.Firebase Paginierung - Swift 3
Wie kann ich zeigen alle aktuellen Beiträge zuerst (die meiner Reihe von „Artikel“ und fügte hinzu. Ich bin „queryEndingAtValue“ mit „queryLimitedToLast“ verwenden und jetzt sind meine Beiträge gar nicht angezeigt.
Mein, wenn es funktioniert es wurde mehrmals um die Elemente zu meinem Array hinzufügen.
Vielen Dank im Voraus.
Hier ist mein Code, sehr neu und wirklich nur weiß ich nicht zugeben zu Firebase, was hier .. Ich mache
func downloadPostsFromFirebase(withValue: String) {
// 1 - Get a reference to the database
ref = FIRDatabase.database().reference(withPath: "items-for-sale")
var startKey = withValue
var count = GlobalConstants.FirebaseConstants.numerOfPostsPerPage
var query = ref.queryOrderedByKey()
if startKey != nil {
query = query.queryEnding(atValue: startKey)
count += 1
}
query.queryLimited(toLast: UInt(count)).observeSingleEvent(of: .value, with: { snapshot in
guard var children = snapshot.children.allObjects as? [FIRDataSnapshot] else {
// Handle error
return
}
if startKey != nil && !children.isEmpty {
// TODO - If the number of items in the array is equal to the number of items in the db now, then stop?
for child in snapshot.children {
// instance of ItemForSale, it's added to the array that contains the latest version of the data.
let itemForSaleSingle = ItemForSale(snapshot: child as! FIRDataSnapshot)
startKey = itemForSaleSingle.key
self.items.append(itemForSaleSingle)
print("Total items count is \(self.items.count)")
self.collectionView?.reloadData()
print("start key is \(startKey)")
}
}
})
}
Ich antwortete # 2 unten. Bitte beschränken Sie sich auf eine einzige Frage pro Post. Ich empfehle ein wenig nach der Paginierung zu suchen, da ich ziemlich sicher bin, dass ich in den letzten Wochen mehrmals Fragen dazu beantwortet habe. –