Existe alguma maneira de descobrir quando um UITableViewterminou de solicitar dados de sua fonte de dados?
Nenhum dos métodos viewDidLoad/ viewWillAppear/ viewDidAppeardo controlador de visualização associado ( UITableViewController) é útil aqui, pois todos eles disparam muito cedo. Nenhum deles (de forma totalmente compreensível) garante que as consultas à fonte de dados tenham terminado por enquanto (por exemplo, até que a exibição seja rolada).
Uma solução que eu encontrei é para chamar reloadDataem viewDidAppear, uma vez que, quando reloadDataretorna, a exibição de tabela é garantida para terminar de consultar a fonte de dados, tanto quanto ele precisa para o momento.
No entanto, isso parece bastante desagradável, pois suponho que esteja fazendo com que a fonte de dados seja solicitada as mesmas informações duas vezes (uma vez automaticamente e uma vez por causa da reloadDatachamada) quando é carregada pela primeira vez.
O motivo pelo qual quero fazer isso é que desejo preservar a posição de rolagem do UITableView- mas até o nível de pixel, não apenas para a linha mais próxima.
Ao restaurar a posição de rolagem (usando scrollRectToVisible:animated:), preciso que o table view já tenha dados suficientes, ou então a scrollRectToVisible:animated:chamada do método não fará nada (que é o que acontece se você colocar a chamada sozinha em qualquer um de viewDidLoad, viewWillAppearou viewDidAppear).
