J'ai un UITableView
et un planificateur s'exécutant en arrière-plan pour supprimer des enregistrements de l'objet de données sous-jacent. Chaque fois qu'un objet est supprimé, l'affichage de la table doit être mis à jour en conséquence.Impossible de faire fonctionner deleteRowsAtIndexPaths
Mais je continue d'obtenir ce message d'erreur ennuyeux lorsque vous essayez de supprimer une ligne de la vue de la table.
* Mettre fin application en raison d'une exception non interceptée NSInternalInconsistencyException
, motif:. « Chemin d'index non valide pour une utilisation avec UITableView
chemins Index passé à la vue de la table doit contenir exactement deux indices spécifiant la section et la ligne S'il vous plaît utiliser la catégorie sur NSIndexPath
dans. UITableView.h
si possible. "
Le code:
NSIndexPath *indexPath = [NSIndexPath indexPathWithIndex:0];
NSUInteger row = [indexPath row];
NSMutableArray* files = [[NSMutableArray alloc] initWithArray:fileNames];
[files removeObjectAtIndex:[indexPath row]];
[fileNames dealloc];
fileNames = [NSArray arrayWithArray:files];
//[self.fileNames removeObjectAtIndex:row];
[self.tableDraft deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
PS: J'ai aussi essayé [tableView reloadData];
mais a des effets secondaires indésirables, effaçant l'index sélectionné.
+1 Je suis d'accord ... il faut plus de temps pour poster tout cela sur le SO qu'il fait pour lire l'erreur ... il vous indique précisément ce qu'il faut faire et pourquoi ça avorte ... –
Merci im encore d'apprendre – DevNull