将注释部分添加到 TableViewCell 的首选方法是什么?

What's someones preferred method for adding a comments section to a TableViewCell?

我目前正在使用 tableview 来显示个人 "Posts." 在每个 tableview 单元格中都是唯一的 Post。我想在每个单元格中添加 "comments" 的集合。我能想到的收集评论的唯一方法是在 Post 的单元格内添加另一个 TableView。实现此目标的一些首选方法是什么?在另一个 TableViews Cell 中使用 TableView 似乎相当复杂。

我认为这不是个好主意。

在您的 table 视图中创建 N 个部分,每个 post 一个部分。

每个部分

  • 0 行的单元格将填充 post 数据
  • 以下行中的每个单元格都将填充评论数据。

例子

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
        }
    }
}