gpt4 book ai didi

swift - 在 tableview 中显示两个可重用的单元格 - Swift 3

转载 作者:行者123 更新时间:2023-11-28 10:51:13 27 4
gpt4 key购买 nike

我的表格 View 中有两个自定义的可重用表格 View 单元格。第一个单元格,我希望它始终存在。第二个单元格及以后的单元格正在返回从 mysql 数据库传递的计数。

 // return the amount of cell numbers
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return posts.count
}


// cell config
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

if indexPath.row < 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! InfoCell
//set the data here
return cell

} else {

let Postcell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath) as! PostCell

let post = posts[indexPath.row]
let image = images[indexPath.row]
let username = post["user_username"] as? String
let text = post["post_text"] as? String


// assigning shortcuts to ui obj
Postcell.usernameLbl.text = username
Postcell.textLbl.text = text
Postcell.pictureImg.image = image

return Postcell

}

} // end of function

我的第一个单元格在那里,post.count 也在那里,但出于某种原因,posts.count 缺少一个帖子,我相信这是因为第一个单元格。有人可以帮我吗?提前致谢。

最佳答案

您需要调整从 numberOfRowsInSection 返回的值以考虑额外的行。并且您需要调整用于访问 posts 数组中的值的索引以处理额外的行。

但更好的解决方案是使用两个部分。第一部分应该是您的额外行,第二部分应该是您的帖子。

func numberOfSections(in tableView: UITableView) -> Int {
return 2
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 {
return 1
} else {
return posts.count
}
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! InfoCell
//set the data here

return cell
} else {
let Postcell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath) as! PostCell

let post = posts[indexPath.row]
let image = images[indexPath.row]
let username = post["user_username"] as? String
let text = post["post_text"] as? String


// assigning shortcuts to ui obj
Postcell.usernameLbl.text = username
Postcell.textLbl.text = text
Postcell.pictureImg.image = image

return Postcell
}
}

关于swift - 在 tableview 中显示两个可重用的单元格 - Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46030166/

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