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?

¿Fue útil?

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 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top