Я создаю приложение, в котором пользователи могут добавлять игроков в список. (Подготовка к игре), но я застрял здесь.
У меня есть текстовое поле, в котором я ввожу имя игрока и нажимаю кнопку, которая добавляет игрока в таблицу. Но каждый раз, когда я добавляю нового игрока, он заменяется следующим. Итак, скажем, я добавляю. один игрок: «Игрок 1», а затем я добавляю другого игрока, оба имени будут «игрок 2».
Я пытался добавить цикл for (который я не полностью понимаю, поскольку он полностью отличается от java, c # и т. Д.), Но я хочу добавить цикл for, который будет проходить по всем индексамсписка массивов, а затем добавьте значение.
@IBAction func addNewPlayerButtonTapped(_ sender: Any){
allPlayers.append(txtfield_player.text!)
tableView.insertRows(at: [IndexPath(row: allPlayers.count-1, section: 0)], with: .automatic)
txtfield_player.text = ""
tableView.reloadData()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return allPlayers.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellOne", for: indexPath) as! HomeTableViewCell
cell.lbl_playerName.text = allPlayers[0..<allPlayers.count] //I'm getting error here.
return cell
}
Как это исправить? (Если бы я имел cell.lbl_playerName.text = allPlayers [0], он получит только первый индекс c), но мне нужно что-то подобное. Таким образом, я могу добавить как «я», что означает ВСЕ индексы. Надеюсь, вы понимаете, о чем я.
Я думаю, что мне удалось исправить cell.lbl_playerName.text, но проблема в том, что ВСЕ строки заменяются. Поэтому, если я добавлю еще один, скажем, «игрок 3», все игроки будут «игроком 3» в виде таблицы.