NSArray ObjectAtIndex: 0 & # 8212; obtenir le compte?
-
05-07-2019 - |
Question
J'ai un NSArray que je transmets via une méthode de délégation:
- (void)didFinishParsing:(NSArray *)array {
[self.myArray addObjectsFromArray:array];
NSLog(@"%@", self.myArray);
[self.tableView reloadData];
}
Il n'y a qu'un seul objet dans le tableau
et j'aimerais que le nombre de lignes tableView soit égal au nombre d'objets dans le tableau objectAtIndex: 0
, mais je ne peux pas obtenir le décompte. J'ai essayé:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[self.myArray objextAtIndex:0] count];
}
Comment obtenir le nombre d'objets dans le premier (et unique) objet de mon tableau?
La solution
Pour compter le tableau à l'index 0 de self.myArray, votre syntaxe est correcte. La configuration de votre variable array
est-elle comme vous le pensez?
L'appel de méthode addObjectsFromArray:
ajoutera le contenu de array
à la fin de self.myArray
.
En d'autres termes, [tableau objectAtIndex: 0]
deviendra [self.myArray lastObject:]
Si vous ne parvenez pas à exécuter , comptez
sur [self.myArray objectAtIndex: 0]
ou [self.myArray lastObject]
. L’objet que vous essayez de compter peut être nil
, vide, pas un NSArray / Set tel que vous vous attendez.
Autres conseils
Si vous essayez de créer un tableau dans un tableau, utilisez plutôt
.[self.myArray addObject: array];
Ceci ajoutera le tableau au prochain index dans self.myArray. Ce que vous faisiez auparavant avec
[self.myArray addObjectsFromArray:array];
ajoutait le contenu de array
dans self.myArray
sans ajouter array
dans self.myArray
.