2014-11-03 18 views
10

come è possibile ricaricare i dati per una cella nella mia vista tabella? Voglio fare una richiesta al mio server e le risposte del server JSON. Al momento ho implementato la richiesta e la gestione della risposta e posso mostrare i dati nelle mie celle. Ma voglio che il server risponda solo a dieci set di dati. Quando scorrono fino alla fine della vista tabella con le mie dieci celle nell'app voglio fare la prossima richiesta al mio server e il server consegna i prossimi dieci set di dati e così via. Lavoro con Swift come linguaggio di programmazione.ricarica dati cella in visualizzazione tabella con Swift

THX!

+0

è possibile ottenere array di Cell visibile utilizzando la funzione TableView tableView.visibleRows() o È possibile ottenere IndexPath di righe visibili da tableView.indexPathsForVisibleR ows()! e quindi puoi ricaricare la tabella tramite la funzione tableView.reloadData()! –

+0

guarda questo esempio https://github.com/Haneke/HanekeSwift –

risposta

33

È possibile utilizzare self.tableView.reloadData() al fine di ricaricare l'intera tabella o self.tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.None) al fine di ricaricare una specifica cellula.

Si può leggere di più sulla classe UITableView here

+0

che sta lavorando in Swift. –

+8

sì - ecco perché il codice che ho dato è veloce ... Aggiungerò il "sé". giusto per essere sicuri. – YogevSitton

+1

Anche io uso 'self' per indicare che è un ivar;) per me questo lo rende molto più chiaro. – HAS

6

Prova questo ...

Swift 2,0

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
    self.tableView.reloadData() 
}) 

Swift 3,0

DispatchQueue.main.async { 
    self.tableview.reloadData() 
} 
+0

Se stai chiamando reloadData() all'interno di un blocco, devi inviarlo in modo che sia sul main_queue – NSCoder

2

è possibile ottenere Array of Cell visibile utilizzando tableView Funzione tableView.visibleRows() o si può ottenere IndexPath di file visibile tableView.indexPathsForVisibleRows()! e quindi è possibile ricaricare la tabella tramite tableView.reloadData() Funzione!

sguardo seguenti link

link1

si può leggere su UITableView Classe Here

6

Per ricaricare le celle visibili di Tableview a Swift 3,0

pTableView.beginUpdates() 

pTableView.reloadRows(at: pMessagesTableView.indexPathsForVisibleRows!, with: .none) 

pTableView.endUpdates()