gpt4 book ai didi

ios - 如何简单地用评论填充 tableView?

转载 作者:行者123 更新时间:2023-11-28 13:35:38 25 4
gpt4 key购买 nike

我正在使用来自 Firebase 的每个帖子的评论数据向我的帖子添加评论部分。我一直在阅读 Firebase 的教程、StackOverflow 上问题的答案以及 Youtube 教程,但我仍然遇到问题。我正在使用 FirebaseUI 开源工具包。这是我的 Firebase JSON:

 "posts" : {
"-LhjroYuwrmhENr78QEQ" : {
"comments" : {
"-LhjrqSlNDl49q-f2IvJ" : "How is it going there?",
"-Lhjry5Q02nk3UDuwl1V" : "I would like some help with Firebase Apps",
"-LhjrzadaywBb2p2S63D" : "Do you think you can help me?"
},
"reports" : 0,
"text" : "Ryan Here",
"timestamp" : 1560950032828,
"title" : "Hey",
"userID" : "nyRBXSyyDhc1Qkypou0Iz0iMsyr1"
},
"comments" : {
"-LhjrqSlNDl49q-f2IvK" : {
"reports" : 0,
"timestamp" : 1560950040707,
"userID" : "nyRBXSyyDhc1Qkypou0Iz0iMsyr1"
},
"-Lhjry5Rr-DVxGdwgAhn" : {
"reports" : 0,
"timestamp" : 1560950071986,
"userID" : "nyRBXSyyDhc1Qkypou0Iz0iMsyr1"
},
"-LhjrzadaywBb2p2S63E" : {
"reports" : 0,
"timestamp" : 1560950078142,
"userID" : "nyRBXSyyDhc1Qkypou0Iz0iMsyr1"
}
}
}
}

我想填充我的 tableView“commentsTable”,将每个评论作为一个唯一的单元格,并在标签中填充评论的文本。我在 Storyboard中制作了一个带有标签的原型(prototype)单元格,然后尝试使用以下代码发布文本:

var post: Post?


override func viewDidLoad() {
super.viewDidLoad()
print(delegate!)
ref.child("posts").child("comments").observeSingleEvent(of: .value, with: {DataSnapshot in self.commentsTable})
newCommentLabel.delegate = self
let firebaseRef = Database.database().reference().child("posts").child("comments")

let query = firebaseRef.queryOrderedByKey() /*or a more sophisticated query of your choice*/

let dataSource = self.commentsTable.bind(to: query, populateCell: { (tableView: UITableView, indexPath: IndexPath, snapshot: DataSnapshot) -> UITableViewCell in

let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

let value = snapshot.value as! NSDictionary

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

cell.textLabel?.text = firebaseRef.text

return cell
})
}

目前,我在“let dataSource = ...”这一行出现了一个错误,上面写着“‘UITableView 类型的值?’”没有成员'绑定(bind)'”。我不确定如何解决此错误。我的文本似乎与 Firebase 文档相同。

我也不确定如何在 tableView 中显示所需的信息。到目前为止,这是我尝试过的:

  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->   UITableViewCell {
let cell = UITableViewCell()
let label = UILabel(frame: CGRect(x:0, y:0, width:200, height:50))
cell.addSubview(label)
return cell
}



func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 50
}

private func setMain() {
guard let post = self.post else {
return
}

我发现很难满足提出评论的所有必要条件。在没有充分解释的情况下,教程和文档似乎有点含糊或难以理解所需的大量输入。我希望这里有人可以帮助我简化流程。感谢您的帮助!

最佳答案

我相信你想先下载所有的评论。将评论存储在数组或字典中。这是您的数据源。您绝对不想在 ViewDidLoad 中创建 uitableview 单元格。

然后,当您调用 cellForRowAtIndexPath 时,使用您的注释数据源(数组/字典)来填充您创建的自定义单元格的字段。

numberOfRowsInSection 应该是数据源的大小/数量。

关于ios - 如何简单地用评论填充 tableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56673983/

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