仅下载可见细胞的数据 - Firebase Swift

时间:2016-08-09 06:25:54

标签: 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和Datasource

1 个答案:

答案 0 :(得分:2)

您可以使用filtering来限制返回的项目数,当您向下滚动时,您可以使用queryStartingAtValue设置再次调用数据查询(前提是您已经指定了订单)< / p>