Двойная запись с UITableView - PullRequest
       2

Двойная запись с UITableView

0 голосов
/ 02 апреля 2020

Я получил UITableView в моем ViewController. И я хочу добавить, после того, как я введу текст в свое текстовое поле и нажму кнопку, текст к моему табличному виду. Но теперь текст вводится каждый раз дважды.

Мой код:

@IBAction func pressAddPlayer(_ sender: Any) {
        let text = self.spielerTextField.text!
        data.append(text)
        tableview.reloadData()
        tableview.endUpdates()
    }

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
         let cell = tableView.dequeueReusableCell(withIdentifier: "cellReuseIdentifier")!   
         let text = data[indexPath.row]  
         cell.textLabel?.text = text 
         return cell
}

TY

Ответы [ 3 ]

1 голос
/ 02 апреля 2020

Нет необходимости использовать endupdates, если вы уже используете reloadData (). Также я проверил ваш код, заменив текст в текстовом поле простой строкой, и он работал нормально. Так что вы можете дать более подробную информацию, поскольку проблема не в этой части.

0 голосов
/ 02 апреля 2020
@IBAction func pressAddPlayer(_ sender: Any) {
        let text = self.spielerTextField.text!
        data.append(text)
        tableview.reloadData()
    }

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
         let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "cellReuseIdentifier") as UITableViewCell   
         let text = data[indexPath.row]  
         cell.textLabel?.text = text 
         return cell
}

Попробуйте, все нормально.

0 голосов
/ 02 апреля 2020

Этот метод удаления гарантирует, что ячейка будет возвращена и изменена в размере правильно, при условии, что идентификатор зарегистрирован

let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cellReuseIdentifier", for: indexPath)

Кроме того, здесь не нужно использовать endUpdates

tableview.reloadData()
//tableview.endUpdates()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...