Pergunta

Eu tenho um NSArray que eu passar em através de um método delegado:

- (void)didFinishParsing:(NSArray *)array {
    [self.myArray addObjectsFromArray:array];
    NSLog(@"%@", self.myArray);
    [self.tableView reloadData];
}

Há apenas um objeto no array e eu gostaria que a contagem de linhas tableView para igualar a quantidade de objetos no array objectAtIndex:0, mas eu não posso começar a contagem. Eu tentei:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [[self.myArray objextAtIndex:0] count];
}

Como faço para obter o número de objeto dentro do primeiro objeto (e única) na minha matriz?

Foi útil?

Solução

Para contar a matriz no índice 0 de self.myArray sua sintaxe está correta. É a sua configuração variável array como você pensa que é?

O addObjectsFromArray: chamada de método irá adicionar o conteúdo de array para o final do self.myArray.

Assim, em outras palavras: [array objectAtIndex:0] se tornará [self.myArray lastObject:]

Se você está tendo problemas para executar count: em [self.myArray objectAtIndex:0] ou [self.myArray lastObject] então o objeto que você está tentando contar poderia ser nil, vazio, não um NSArray / Definir como você está esperando que ele seja.

Outras dicas

Se você está tentando criar uma matriz dentro de uma matriz você deve usar

[self.myArray addObject: array];

Isto irá adicionar a matriz na próxima índice dentro self.myArray. O que você estava fazendo anteriormente com

[self.myArray addObjectsFromArray:array];

foi adicionando o conteúdo do array em self.myArray não adicionando-se array em self.myArray.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top