Capisco che UITableView
chiamerà il metodo -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
per ottenere ciascuna delle celle per la vista tabella. Supponiamo che la mia fonte di dati venga scaricata su Internet e devo tenere conto della latenza. Quale sarà il modo migliore per "fermare" questo metodo dall'essere chiamato? Dovrebbe bloccare su un flag booleano nell'applicazione? Dovrei semplicemente chiamare cellForRowAtIndexPath
di nuovo dalla mia applicazione?Come interrompere UITableView dal caricamento fino al caricamento dei dati?
Non sono sicuro di quando viene richiamata la funzione, ovvero, quanto spesso lo "UITableView
" si aggiorna da solo. Qualsiasi spiegazione sarà utile! Grazie!
grazie per questa risposta. come avresti impostato numeberOfRowsInSection in seguito? quando viene chiamato reloadData, cellForRowAtIndex o numberOfRowsInSection verranno chiamati automaticamente? – Ying
Sì, quando si chiama reloadData, molte di queste chiamate verranno eseguite automaticamente. – mahboudz
Un altro modo per fare ciò è avere la proprietà 'UITableViews.dataSource' su zero fino a quando non sei pronto per caricarlo. Quindi lo imposti e chiama 'reloadData'. Funziona alla grande se hai solo bisogno di aspettare che una richiesta finisca per il carico iniziale della tabella. – zekel