ios - 仅下载可见单元格的数据 - Firebase Swift

标签 ios swift firebase firebase-realtime-database

所以我尝试从 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/

相关文章:

ios - 无法连接到 HTTPS 并且对于 HTTP 说无法安装应用程序,因为我想使用 .plist 下载应用程序时的证书

ios - UIReferenceLibraryViewController 无法显示为弹出窗口(始终覆盖全屏)

firebase - 如何在 BigQuery 中选择多个自定义 Firebase 事件参数?

javascript - 将 firestore DB 设置为窗口对象有多安全?

ios - 夏令时 UIDatePicker 问题

ios - 使用 facebook-ios-sdk 登录时如何访问 appDelegate 中的另一个 UIViewController?

ios - 无法更改状态栏样式

swift - 调用中的额外参数 'error' - 执行/捕获?

ios - 应用程序安装时运行方法

javascript - Firebase 数据库 : why do the key/ref in my queried datasnapshot refer to its parent?