2016-08-09 69 views
0

Ich versuche also, Daten aus Firebase zu laden, ohne alle Daten gleichzeitig zu laden. Ich möchte die ersten 20 Kind-Knoten laden und dann, wenn ich in der Tabelle nach unten scrolle, möchte ich 20 weitere laden und so weiter.Daten nur für sichtbare Zellen herunterladen - Firebase Swift

BASE_URL.child("names").queryOrderedByChild("time").observeEventType(.Value, withBlock: { snapshot in 

     self.names = [] 
     if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] { 
      for snap in snapshots { 

       if let namesDictionary = snap.value as? Dictionary<String, AnyObject> { 
        let key = snap.key 
        let name = Name(key: key, dictionary: nameDictionary)       
        self.names.insert(name, atIndex: 0) 
       } 
      } 

     } 

     dispatch_async(dispatch_get_main_queue(), {() -> Void in 
           self.tableView.reloadData() 
     }) 
    }) 

Nach diesem Ich habe meine Tableview - Delegierter und Datasource

Antwort

2

Sie filtering verwenden können, die Anzahl der Elemente zu begrenzen zurückgegeben werden, und wenn Sie nach unten scrollen, können Sie einfach die Datenabfrage erneut aufrufen mit queryStartingAtValue festlegen (vorausgesetzt, Sie haben bereits eine Bestellung angegeben)

+0

Haben Sie einen Beispielcode oder etwas? – user54272

+0

Ich denke, das Code-Snippet aus der Dokumentation würde ausreichen. Leider lerne ich immer noch schnell an meinen freien Tagen, also kann ich dir wirklich nicht helfen, ein Beispiel zu geben – adjuremods

+0

Okay, Danke für deine Hilfe – user54272