Popolare UITableView con i risultati di servizio web
-
11-09-2019 - |
Domanda
Ho una visione tavolo che voglio riempire con i risultati (XML) della mia chiamata a un servizio Web.
Il NSURLConnection
e NSMutableURLRequest
che stanno facendo il setup per questo sono attualmente in mio metodo -viewDidLoad
, e ho anche tutti i miei UITableView metodi delegato nel mio file .m troppo.
I dati vengono restituiti e ha aggiunto al mio allineamento corretto. Il mio problema è (credo) che i metodi UITableView sono chiamati prima che i dati è stato restituito dal servizio web, che è il motivo per cui la mia vista tavolo è sempre vuota.
Come posso chiamare i metodi nel giusto ordine (se questo è ancora il problema) ...
Soluzione
sta chiamando reloadData sul Tableview una volta che hai ripopolato la matrice? Hai bisogno di lasciarlo sapere che la presenza di nuovi dati.
Altri suggerimenti
UITABLEVIEW *mytableview=[[UITABLEVIEW alloc]init];
[mytableview reloadData];
Sì hai ragione; i delegati UITABLEVIEW
sono chiamate prima che il servizio web. Quindi devi chiamare i delegati di nuovo in modo da provare a ricaricare i dati. Funziona perfetto per me. ricaricare tavolo quando u hanno qualcosa tornato dal webservice. conservarlo in NSArray o qualsiasi altra cosa e quindi ricaricare tavolo.
Scopri esempio di codice SeismicXML di Apple sul sito developer.apple.com/iphone. Essa mostra come utilizzare NSURL, NSXMLParser, e un TableView di fare proprio questo tipo di cose.