eu tenho um UITableViewController
como meu ViewController principal em um aplicativo. Meu objetivo é substituir o reloadData
método.
O delegado e a origem de dados da tableview foram configurados no Storyboard automaticamente:
No entanto, quando eu chamo o supermétodo da classe na substituição, recebo o erro visto no título desta pergunta.
meu código é muito simples:
- (void)reloadData {
[super reloadData];
}
Além disso, quando eu chamo reloadData
sem o override em outras partes do meu aplicativo, ele não parece acionar cellForRowAtIndexPath
:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"theThingImLookingFor"]) {
[self.tableView reloadData]; //no error thrown, but no tableReloading either
}
}
Como faço para que isso funcione? Eu sinto que estou perdendo algo óbvio aqui ...
Respostas:
0 para resposta № 1UITableViewController
não define um reloadData
método. Aquilo é um UITableView
método. Se você tiver definido uma, ela não será chamada a menos que você a chame. Eu sugiro colocar um ponto de interrupção no seu reloadData
método e vendo de onde está sendo chamado.
Se você mesmo chamar seu método reloadData, ele não fará nada. Você precisa chamar o método reloadData do tableView.
Você poderia certamente implementar um método reloadData no seu UITableViewController
que por sua vez chama o método reloadData da tabela:
- (void)reloadData {
[tableView reloadData];
}