Supprimer une cellule
marty
Membre
Bonjour,
J'ai un petit problème dont je ne trouve pas la solution.
Je dispose d'un tableau de cellule, j'aimerais rendre une cellule temporaire.
C'est à dire qu'une fois que l'utilisateur a cliqué dessus, celle-ci s'efface.
Donc je pense que cette fonction doit se trouver dans didSelectRow :
Je me situe au bon endroit, puisque que les log sont OK, mais la méthode pour supprimer la cellule me provoque un BAD_EXC...
Il ne prend pas le bon indexPath dans cette méthode ? ou mon code est totalement faux ?
Merci de m'aider
J'ai un petit problème dont je ne trouve pas la solution.
Je dispose d'un tableau de cellule, j'aimerais rendre une cellule temporaire.
C'est à dire qu'une fois que l'utilisateur a cliqué dessus, celle-ci s'efface.
Donc je pense que cette fonction doit se trouver dans didSelectRow :
<br />- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { <br /> <br /> if (indexPath.section==[TabDeNom count]) {<br /> ...... <br /> [self.maTableView beginUpdates];<br /> [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];<br /> [self.maTableView endUpdates];<br /> <br /> }<br />
Je me situe au bon endroit, puisque que les log sont OK, mais la méthode pour supprimer la cellule me provoque un BAD_EXC...
Il ne prend pas le bon indexPath dans cette méthode ? ou mon code est totalement faux ?
Merci de m'aider
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je vois pas comment mettre a jour mon modele, je veux enlever la section et une ligne, si je le met à jour il n'existera plus, non ?
Bein non, le mettre à jour = enlever une ligne à ton tableau, pas le détruire. Donc il existera.
La dans ma section, j'ai qu'une ligne que je supprime.
Comme l'a signalé "AliGator", il faut redonner le nombre de lignes. J'ai donc mis :
Ca ne fonctionne pas, j'ai donc mal utilisé la fonction, pourtant je définis le bon nombre de ligne, non ?
Là tu me parles de la table, c'est à dire, la vue.
J'ai créé un tableau de données, puis une cellule en plus (qui est pas contenue dans mon array avec mes données). Cette cellule permet d'afficher plus de données.
Une fois cliquée, on nà toutes les données donc plus besoin d'en afficher plus, c'est pour ça que je veux la supprimer.
Et je la crée de cette façon :
Donc je ne vois pas dans quel array je dois la supprimer ...
Enfin je sais pas tu fais comme tu veux à toi de voir. Le tout est que numberOfRowsInSection (ou numberOfSectionsInTableView, selon si tu supprimes une section entière ou juste une row dans une section) retourne la bonne valeur selon les cas où tu veux afficher ou non la cellule.
Mais enfin commence peut-être par supprimer la vue sans animation (ni beginUpdates et endUpdates) juste en faisant en sorte que numberOfRowsInSection (ou numberOfSectionsInTableView) retourne un nombre différent en fonction des 2 cas (et faire un reloadData pour recharger ta TblVw), une fois que ça ça sera maà®trisé tu pourras voir à rajouter l'animation de cette suppression avec begin/endUpdates, mais chaque chose en son temps !!!!
Par exemple je supprime juste ma ligne, et je redéfinis le bon nombre de lignes :
J'ai toujours le même EXC_BAd qui dit que le nombre de rows ne correspond pas (0 inserted, 1 deleted).
Wow ça semble sacrément confus dans ta tête tout ça. Je veux dire même pas juste la manipulation des tableViews mais les principes même de DataSources et de l'implémentation d'un protocole et d'objective-C en général (non seulement tu appelles une méthode on se demande pourquoi et ce qu'elle est sensé changer, mais en plus tu lui passes des paramètres bizarres vu le contexte et tu ne récupères même pas son retour... Mais bon vu que de toute façon tu devrais même pas l'appeler...
Reprends les bases car là t'es en train de t'emmêler dans du n'importe quoi.
Je trouvais ça aussi trés bizarre...
En ce moment j'ai fait la suppression de cellule avec un booléen, j'aimerais pouvoir faire une animation car c'est un peu brut de supprimer directe comme ça. Et c'est la que je bloque, pour créer l'animation.
J'ai essayé de cette façon :
La 2ème ligne pose toujours problème alors que maintenant j'ai (0 inserted, 0 deleted)