C'è un modo per scoprire quando un UITableViewha finito di chiedere i dati dalla sua origine dati?
Nessuno dei metodi viewDidLoad/ viewWillAppear/ viewDidAppeardel controller di visualizzazione associato ( UITableViewController) è utile qui, poiché si attivano tutti troppo presto. Nessuno di questi (del tutto comprensibilmente) garantisce che le query all'origine dati siano terminate per il momento (ad esempio, fino a quando la vista non viene fatta scorrere).
Una soluzione che ho trovato è di chiamare reloadDataa viewDidAppear, dal momento che, quando reloadDatatorna, la visualizzazione della tabella è garantito di aver finito l'interrogazione l'origine dei dati tanto quanto deve per il momento.
Tuttavia, questo sembra piuttosto sgradevole, poiché presumo stia facendo sì che all'origine dati vengano richieste le stesse informazioni due volte (una volta automaticamente e una volta a causa della reloadDatachiamata) quando viene caricata per la prima volta.
Il motivo per cui voglio farlo è che voglio preservare la posizione di scorrimento del UITableView- ma fino al livello dei pixel, non solo alla riga più vicina.
Quando si ripristina la posizione di scorrimento (utilizzando scrollRectToVisible:animated:), è necessario che la vista tabella contenga già dati sufficienti, altrimenti la scrollRectToVisible:animated:chiamata al metodo non fa nulla (che è ciò che accade se si effettua la chiamata da sola in uno qualsiasi di viewDidLoad, viewWillAppearo viewDidAppear).
