J'ai un UISegmentedControl
qui modifie les données dans la vue tableau. Disons que j'affiche 5 lignes pour l'onglet 1, 2 lignes pour l'onglet 2. Lorsque le deuxième onglet est cliqué, les deux premières lignes obtiennent de nouvelles valeurs, mais les anciennes données de l'onglet un pour les lignes 3 à 5 reste. Comment puis-je les effacer?Actualiser les lignes de la table
Répondre
Voici un exemple de code rapide pour vérifier: iPhoneCoreDataRecipes
Sur le sujet, voici l'une des plus suaves fournies méthodes:
// If I want to delete the next 3 cells after the one you click
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableArray* indexPaths = [NSMutableArray array];
for (int i = indexPath.row + 1; i < indexPath.row + 4; i++)
{
[indexPaths addObject:[NSIndexPath indexPathForRow:i inSection:0]];
}
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
Je suis tombé sur ce problème, si je vous comprends bien, que la mise à jour ne supprime pas les cellules. Il suffit donc de les supprimer et puis mise à jour de l'appel. Bonne chance!
Vérifiez votre boucle, il ne semble pas correct. –
@ A-Live Je me rends compte qu'il fait des choses délicates; quelque chose en particulier que vous appelez? – TahoeWolverine
Il ne fait rien, la valeur initiale correspond à la valeur finale. Il devrait également y avoir une validation des index avant ou à l'intérieur de la boucle pour éviter de sortir des limites. –
Je suppose que vous travaillez dans l'objet-c sur l'iPhone. S'il vous plaît ajouter ces tags. Aussi, dites-vous que vous avez un UITabViewController avec 1 tableview par onglet? En outre, pour des raisons de lisibilité, mettez votre code en surbrillance, puis appuyez sur le bouton de format de code afin qu'il apparaisse correctement. – TahoeWolverine