/ / Nenhuma interface visível para UITableViewController declara o seletor ReloadData - ios, objective-c, uitableview, reloaddata

Nenhuma interface visível para o UITableViewController declara o seletor ReloadData - ios, objective-c, uitableview, reloaddata

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:insira a descrição da imagem aqui

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 № 1

UITableViewController 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];
}