Lorsque j'ai un UITableView dans le cadre du contrôleur de vue visible, comment puis-je le recharger pour que les données que je regarde changent pour les nouvelles données. Le simple fait d'appeler reload ne semble pas actualiser les données tant que je ne les ai pas faites défiler.
L'appel de la méthode reloadData
rafraîchit les données dès que la méthode est appelée. Il n'attend pas que la table défile. Assurez-vous que la source de données (tableau ou dictionnaire ou partout où vous avez enregistré les valeurs) est modifiée avant d'appeler reloadData
.
Actualisez-vous les données du thread principal? Si tel est le cas, vous devez appeler la méthode reloadData à l'aide de la méthode suivante:
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
Donc pour une tableView ce serait:
[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
Juste une mise à jour 2013, vous devriez également pouvoir recharger les données, aussi longtemps que vous utilisez
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
GCD est génial!