J'ai une fonction qui change accessoryType
de cellules dans Section 0 à une coche. Il fonctionne très bien et affiche une coche lorsqu'il est sélectionné, mais si une cellule dans Section 1 ou Section 2 est sélectionnée, il déplace les coches sur Section 0. Si quelqu'un pouvait me dire comment résoudre ça, ce serait génial.Swift: Les cellules UITableView sont affectées par des cellules d'une autre section
//Adds Checkmark to Cells when Selected
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let section = 0
let numberOfRows = tableView.numberOfRowsInSection(section)
for row in 0..<numberOfRows {
if let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: section)) {
cell.accessoryType = row == indexPath.row ? .Checkmark : .None
}
}
}
Avez-vous activé la sélection multiple? Je suppose que vous ne pouvez sélectionner qu'une ligne à la fois et c'est pourquoi vous perdez les coches lorsque vous sélectionnez autre chose – Moriya
Aussi, pourquoi ne pas ajouter le type d'attribut lorsque vous déposez la cellule à cellForRowatIndexPath? – Moriya
Oui, j'ai trois sections. Si j'appuie sur la première cellule de ma deuxième section, la première cellule de la première section sera cochée. La même chose vaut pour les deuxième et troisième cellules de chaque section. Je veux seulement que la première section utilise ce code. –