Fondamentalement, je stocke un index d'un tableau dans un NSInteger. J'en ai maintenant besoin en tant que NSIndexpath, j'ai du mal à voir et à trouver un moyen de convertir mon NSInteger en NSIndexpath afin de pouvoir le réutiliser.
Pour un int index
:
NSIndexPath *path = [NSIndexPath indexPathWithIndex:index];
Crée un index de l'élément dans le nœud 0 vers lequel pointer selon la référence .
Pour utiliser l'indexPath dans un UITableView
, la méthode la plus appropriée est
NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:section];
Si vous avez besoin d'un NSIndexPath
pour un UITableView
, vous pouvez utiliser indexPathForRow:inSection:
( référence ). Les chemins d'index transmis à la vue de table doivent contenir exactement deux indices spécifiant la section et la ligne. Un chemin d'index créé avec indexPathWithIndex:
ne contient qu'un seul index et ne fonctionnera pas avec une vue de table.
Utilisez les méthodes ci-dessous de la classe NSIndexPath .
+ (id)indexPathWithIndex:(NSUInteger)index;
+ (id)indexPathWithIndexes:(NSUInteger *)indexes length:(NSUInteger)length;
- (id)initWithIndex:(NSUInteger)index
Utilisez comme ci-dessous et n'oubliez pas de release
myIndexPath
objet après utilisation.
NSIndexPath *myIndexPath = [[NSIndexPath alloc] initWithIndex:[myIntObj intValue]];
Swift 3:
let indexPath = IndexPath(row: 0, section: 0)