gpt4 book ai didi

swift - 新的 FUITableViewDataSource - 如何使用? swift 3

转载 作者:搜寻专家 更新时间:2023-10-30 23:01:09 26 4
gpt4 key购买 nike

刚刚更新到较新的 FirebaseUI Pod - 发生了一些变化,但其中一个重要变化是 FUI TableView 的工作方式。我让它在旧版本上运行良好,但在下面遇到这个问题 - 并且缺乏文档/示例。

 self.dataSource = FUITableViewDataSource(query: <#T##FIRDatabaseQuery#>, view: <#T##UITableView#>, populateCell: <#T##(UITableView, IndexPath, FIRDataSnapshot) -> UITableViewCell#>)

我不明白索引路径是从哪里调用的。我是否需要制作一个单独的 NSIndexPath 来传递给它?我也不太明白它应该放在哪里 - 以前,它是 FirebaseTableViewDataSource,我会在我的 viewDidLoad 中设置它,它会创建单元格等直接从那里。它几乎现在看起来好像需要存在于我的 cellForRowAtIndexPath 中。有人对此有什么建议吗?

最佳答案

test对于这个最新版本,使用了 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
})
}

还要确保您正在观察您的更改查询,否则 tableView 将不会被填充

self.query?.observe(.value, with: { snapshot in
})

关于swift - 新的 FUITableViewDataSource - 如何使用? swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40855215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com