J'ai besoin de supprimer la ligne 1 d'une table dans une fonction que j'ai définie. Pour utiliser deleteRowAtIndexPath
, vous devez utiliser un IndexPath
avec une section et une ligne définies. Comment puis-je créer un indexpath comme celui-ci?
Un tableau avec int {1} comme seul membre plantera; le message NSLog indique que la section doit également être définie.
* Édition -> Code relatif à la suppression de cellule:
NSIndexPath *myIP = [[NSIndexPath alloc] indexPathForRow:0 inSection:0];
NSArray *myArray = [[NSArray alloc] initWithObjects:myIP, nil];
// [self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:myArray withRowAnimation:UITableViewRowAnimationFade];
// [self.tableView endUpdates];
Utilisez [NSIndexPath indexPathForRow:inSection:]
pour créer rapidement un chemin d’index.
Edit: Dans Swift 3:
let indexPath = IndexPath(row: rowIndex, section: sectionIndex)
indexPathForRow
est une méthode de classe!
Le code devrait se lire comme suit:
NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0] ;
Réponse obligatoire dans Swift: NSIndexPath(forRow:row, inSection: section)
Vous remarquerez que NSIndexPath.indexPathForRow(row, inSection: section)
n'est pas disponible dans Swift et vous devez utiliser la première méthode pour construire le chemin indexPath.
Pour Swift 3 c'est maintenant: IndexPath(row: rowIndex, section: sectionIndex)