如何将单元格添加到tableView中以重新加载所有数据?

时间:2019-04-22 01:59:00

标签: ios swift uitableview

如何将单元格(自定义)添加到tableView?我尝试了以下方法:

  @IBAction func AddCommentButton(_ sender: Any) {
        addComment() {
             //1)
            self.tableView.beginUpdates()
            tableView.reloadRows(at: [arrayOfComments.count].indices, with: .automatic)
            self.tableView.endUpdates()
               //2)
//            let cell = tableView.dequeueReusableCell(withIdentifier: "commentCell", for: tableView.numberOfRows(inSection: 0)) as! commentTableViewCell
//            addTemporaryComment(cell: cell)
        }
    }

1)产生:

  

无法将“ Range.Index>”类型的值(也称为“ Range”)转换为预期的参数类型“ [IndexPath]”

2)使用此方法也会产生许多错误:全部是

  

使用未解决的标识符“ indexPath”;你是说'IndexPath'吗?

    func addTemporaryComment(cell: commentTableViewCell) {
    do {
        let url = URL(string: (arrayOfComments[indexPath.row].user.profileImageUrlString)!)
        let imageData = try Data(contentsOf: url!)
        let image = UIImage(data: imageData)

        cell.dateOfComment.text = arrayOfComments[indexPath.row].date
        cell.commentText.text = arrayOfComments[indexPath.row].commentText
        cell.profImage.image = image
        cell.username.text = arrayOfComments[indexPath.row].user.username
    } catch {
        print(error, ": Failed in do block converting image")
    }
}

}

我什至都不知道任何一个都可以。

如果它们是正确的方法,我该如何解决?如果不正确,该如何解决?

1 个答案:

答案 0 :(得分:1)

第一步应该是将新数据追加到表视图用来填充数据的数组中

YourTablearray.append([labeltext])  

下一步,更新表格数据以在表格末尾插入单元格

tableName.beginUpdates()
tableName.insertRowsAtIndexPaths([
NSIndexPath(forRow: YourTablearray.count-1, inSection: 0)], withRowAnimation: .Automatic)
tableName.endUpdates()