NSArray ObjectAtIndex: 0 - ¿Recuento?
-
05-07-2019 - |
Pregunta
Tengo un NSArray que paso a través de un método de delegado:
- (void)didFinishParsing:(NSArray *)array {
[self.myArray addObjectsFromArray:array];
NSLog(@"%@", self.myArray);
[self.tableView reloadData];
}
Solo hay un objeto en el array
y me gustaría que el recuento de filas de tableView sea igual a la cantidad de objetos en el array objectAtIndex: 0
, pero no puedo obtener la cuenta. Lo he intentado:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[self.myArray objextAtIndex:0] count];
}
¿Cómo obtengo el número de objeto dentro del primer (y único) objeto en mi matriz?
Solución
Para contar la matriz en el índice 0 de self.myArray, su sintaxis es correcta. ¿Su variable array
está configurada como cree que es?
La llamada al método addObjectsFromArray:
agregará el contenido de array
al final de self.myArray
.
Entonces, en otras palabras: [array objectAtIndex: 0]
se convertirá en [self.myArray lastObject:]
Si tiene problemas para ejecutar el conteo de :
en [self.myArray objectAtIndex: 0]
o [self.myArray lastObject]
entonces el objeto que está tratando de contar puede ser nil
, vacío, no una NSArray / Set como espera que esté.
Otros consejos
Si estás intentando crear una matriz dentro de una matriz, deberías usar
[self.myArray addObject: array];
Esto agregará la matriz en el siguiente índice dentro de self.myArray. Lo que estabas haciendo anteriormente con
[self.myArray addObjectsFromArray:array];
estaba agregando el contenido de array
en self.myArray
y no agregó array
a self.myArray
.