因此我尝试从Firebase加载数据而不同时加载所有数据。我想加载前20个子节点,然后当我在tableView中向下滚动时,我想再加载20个,等等。
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()
})
})
之后我有了我的TableView - Delegate和Datasource
答案 0 :(得分:2)
您可以使用filtering来限制返回的项目数,当您向下滚动时,您可以使用queryStartingAtValue
设置再次调用数据查询(前提是您已经指定了订单)< / p>