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

时间:2017-09-04 04:10:23

标签: swift uitableview tableview

我的表格视图中有两个自定义可重复使用的表格视图单元格。第一个细胞,我希望它始终存在。第二个单元格以及更高版本,返回从mysql数据库传递的计数。

$destFile

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

1 个答案:

答案 0 :(得分:3)

您需要调整从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
    }
}