有些人更喜欢将注释部分添加到TableViewCell的方法吗?

时间:2016-08-27 21:54:56

标签: swift uitableview tableviewcell

我目前正在使用tableview来显示个人"帖子。"在每个tableview单元格中都是一个独特的帖子。我想添加一些"评论"进入每个细胞。我可以考虑收集评论的唯一方法是在Post的单元格中添加另一个TableView。有哪些首选方法可以实现这一目标?在另一个TableViews Cell中使用TableView似乎相当复杂。

1 个答案:

答案 0 :(得分:3)

我认为这不是一个好主意。

在表格视图中创建N个部分,每个帖子都有一个部分。

对于每个部分

  • 0的单元格将填充帖子数据
  • 以下行中的每个单元格都将填充注释数据。

实施例

struct PostModel {
    let title: String
    let comments: [String]
}

class Posts: UITableViewController {
    private var posts: [PostModel] = ... // TODO

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return posts.count
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return posts[section].comments.count + 1
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let post = posts[indexPath.section]

        let cell = tableView.dequeueReusableCellWithIdentifier("StandardCell") ?? UITableViewCell(style: .Default, reuseIdentifier: "StandardCell")

        if indexPath.row == 0 {
            cell.textLabel?.text = post.title
            return cell
        } else {
            let comment = post.comments[indexPath.row-1]
            cell.textLabel?.text = comment
            return cell
        }
    }
}