stk*_*trc 5 firebase swift firebase-realtime-database firebaseui
刚刚更新到更新的FirebaseUI Pod - 一些事情已经改变,但其中一个重要的是FUI表视图的工作方式.我在旧版本上运行良好,但我正在努力解决这个问题 - 而且缺乏文档/示例.
self.dataSource = FUITableViewDataSource(query: <#T##FIRDatabaseQuery#>, view: <#T##UITableView#>, populateCell: <#T##(UITableView, IndexPath, FIRDataSnapshot) -> UITableViewCell#>)
Run Code Online (Sandbox Code Playgroud)
我不明白从哪里调用索引路径.我是否需要分开NSIndexPath才能进入?我也不太明白它应该存在于哪里 - 以前,FirebaseTableViewDataSource我会将它设置在我的中viewDidLoad,并且它会直接创建细胞等.它现在几乎看起来好像需要生活在我的生活中cellForRowAtIndexPath.有没有人对此有任何建议?
这个最新版本的测试使用tableView:bind:方法(看起来像是他们制作的UITableView类扩展),我能够让它工作.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let firebaseRef = FIRDatabase.database().reference().child(/*insert path for list here*/)
let query = firebaseRef.queryOrderedByKey() /*or a more sophisticated query of your choice*/
let dataSource = self.tableView.bind(to: query, populateCell: { (tableView: UITableView, indexPath: IndexPath, snapshot: FIRDataSnapshot) -> UITableViewCell in
let cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifier", for: indexPath)
let value = snapshot.value as! NSDictionary
let someProp = value["someProp"] as? String ?? ""
cell.textLabel?.text = someProp
return cell
})
}
Run Code Online (Sandbox Code Playgroud)
还要确保您正在查看更改的查询,否则将不会填充tableView
self.query?.observe(.value, with: { snapshot in
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
857 次 |
| 最近记录: |