c'est ma première question dans ce site génial. J'ai vraiment beaucoup cherché et pourtant trouver une réponse au problème suivant.Objectif c - Supprimer des lignes d'une vue de table
J'ai une vue de table avec 9 cellules. Une des cellules a un bouton de commutation. Lorsque la valeur du bouton commuté change, je veux supprimer 2 lignes de la vue de la table. J'ai écrit le code suivant:
- (IBAction)switchValueChanged:(id)sender {
NSLog(@"%@", ([switch isOn]) ? @"ON" : @"OFF");
NSArray *deleteIndexPaths = [NSArray arrayWithObjects:
[NSIndexPath indexPathForRow:1 inSection:0],
[NSIndexPath indexPathForRow:2 inSection:0],
nil];
UITableView *tableView = (UITableView *)self.view;
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:deleteIndexPaths withRowAnimation:UITableViewRowAnimationFade];
// I Have to change the number of rows in the section here.
[tableView endUpdates];
}
Quand je cours, je reçois un problème lié au nombre de lignes dans la section - ce nombre a été modifié, alors je dois changer. Je ne peux vraiment pas trouver comment je le change, mais je sais où je dois le changer (voir le code).
Comment puis-je le faire? comment puis-je appeler la méthode numberOfRowsInSection:NSInteger
et définir également les lignes?
Merci beaucoup :)
Mais comment puis-je appeler cette méthode? J'ai déjà implémenté cette méthode, en la configurant pour retourner 9. Dois-je encore implémenter cette méthode? – ozking
Voir ma vérification pour plus de détails. Fondamentalement, vous devez retourner le nombre de lignes dans la table _après le delete_ - la vue de table appellera ceci automatiquement pour vous. Vous supprimez deux lignes de sorte que vous devez retourner 7 au lieu de 9. – deanWombourne
J'ai réussi, merci :) – ozking