UISECHDISPLAYCONTROLLER USAGE COM DATOS FOIL DE REDE
-
16-09-2019 - |
Pergunta
eu tenho um UITableViewController
A subclasse que renderiza uma lista de categorias predefinidas e busca uma lista de sites/URLs para cada um deles. Quero adicionar um recurso de pesquisa que permitiria pesquisar pelo nome de um site.
O que eu quero é ter uma interface de pesquisa usual, que iniciaria um thread de pesquisa (que buscaria e processaria resultados) e depois o mostraria na tabela. Eu modifiquei meu delegado de tabela para retornar um conjunto personalizado de células se o UITableView
não é o único formulário XIB (ou seja, é uma exibição da tabela de pesquisa):
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"RSSCatalogCell";
if(tableView != self.tableView)
return [searchController tableView:tableView cellForRowAtIndexPath:indexPath];
// ... usual cell initialization for categories
}
Assim que meu tópico de rede (gerado de searchBarSearchButtonClicked:
) Acabamentos, ele pede a uma tabela de controladores de pesquisa para recarregar os dados:
if(searchDisplayController.active)
[searchDisplayController.searchResultsTableView reloadData];
Mas eu ainda vejo a mesa antiga (com o catálogo atraente), no entanto, parece ignorar os toques.
Solução
Ok, eu resolvi (eu odeio que, quando você escreve claramente uma pergunta para algum grupo/fórum público, pode encontrar rapidamente seu próprio bug depois de passar vários dias procurando por ele).
O problema estava em uma conexão errada no XIB, o código acima está funcionando perfeitamente.