Как добавить ячейку в tableView без перезагрузки всех данных? - PullRequest
0 голосов
/ 22 апреля 2019

Как добавить ячейку (пользовательскую) в 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 Ответ

1 голос
/ 22 апреля 2019

Первым шагом должно быть добавление новых данных в массив, используемый табличным представлением для заполнения данных

YourTablearray.append([labeltext])  

Затем обновите данные таблицы, чтобы вставить ячейку в конец таблицы

tableName.beginUpdates()
tableName.insertRowsAtIndexPaths([
NSIndexPath(forRow: YourTablearray.count-1, inSection: 0)], withRowAnimation: .Automatic)
tableName.endUpdates()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...