所以我尝试从 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)和数据源
最佳答案
您可以使用 filtering限制返回的项目数量,当您向下滚动时,您可以再次调用数据查询并设置 queryStartingAtValue
(前提是您已经指定了订单)
关于ios - 仅下载可见单元格的数据 - Firebase Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38843537/