J'essaie d'ajouter des éléments à une vue de tableau. Je vois que chaque fois que je clique sur le bouton, une nouvelle ligne est insérée dans le tableau, mais la cellule est vide. Lorsque je débogue le code, je peux voir tous les éléments de la liste, mais je ne peux pas les voir affichés dans l'application elle-même. Les éléments "1", "2" et "3" ne sont pas affichés non plus.
@IBOutlet weak var itemLbl: UITextField!
var items: [String] = ["1", "2", "3"]
override func viewDidLoad() {
super.viewDidLoad()
tableView.tableFooterView = UIView(frame: CGRect.zero)
}
func insertItem(){
items.append(itemLbl.text!)
let indexPath = IndexPath(row: items.count - 1,section: 0 )
tableView.beginUpdates()
tableView.insertRows(at: [indexPath], with: .automatic)
tableView.endUpdates()
itemLbl.text = ""
view.endEditing(true)
}
L'insertion fonctionne donc, mais je ne peux pas afficher le texte dans le tableau. J'obtiens une nouvelle cellule pour chaque élément que j'ajoute, mais c'est juste un espace vide blanc, au lieu de la valeur que je viens d'ajouter.
EDITAR:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let itemLbl = items[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: "ItemCell") as! ItemCell
cell.itemLbl.text = itemLbl
return cell
}