objectDidLoad chamado após métodos delegados de tableview
-
20-12-2019 - |
Pergunta
eu tenho um PFQueryTableViewController
que estava funcionando perfeitamente antes de eu adicionar o objectsDidLoad
método para o meu código.Adicionei o método da seguinte forma:
-(void)objectsDidLoad:(NSError *)error
{
[super objectsDidLoad:error];
for(PFObject *object in self.objects)
{
PFQuery *query = [PFQuery queryWithClassName:@"SchoolDebate"];
[query whereKey:@"SchoolHappening" equalTo:object];
PFObject *debateObject = [query getFirstObject];
NSString *votesString = [NSString stringWithFormat:@"+%@ -%@", [debateObject objectForKey:@"proVotes"], [debateObject objectForKey:@"conVotes"]];
[self.voteStrings addObject:votesString];
}
}
No entanto, quando executo meu aplicativo agora, ele trava após um segundo da página em branco "Carregando...".O ponto de interrupção está em uma linha que acessa o self.voteStrings
matriz em cellForRowAtIndexPath
.Acho que esse erro acontece porque os métodos delegados do tableview estão sendo chamados antes objectsDidLoad
, mas não sei como consertar isso.
Solução
Corrigi isso colocando meu código em objectsDidLoad e chamando super
no final do método (antes de atualizar minha tabela).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow