2009-03-19 8 views

Répondre

34

L'appel de la méthode reloadData actualise 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 n'importe où vous avez enregistré les valeurs) est modifiée avant d'appeler reloadData.

+7

ne semble pas fonctionner avec une cellule de vue de tableau personnalisé. Les données ne changent pas tant que la vue de la table n'est pas défilée. Peut-être que j'ai un bogue dans ma méthode de cellule de vue de table personnalisée. – Genericrich

+1

J'utilise aussi une cellule personnalisée. Fonctionne très bien pour moi. Vous devez avoir manqué quelque chose dans le code. Pouvez-vous poster le code. peut-être que nous pouvons trouver quelque chose – lostInTransit

+2

Si vous utilisez un fichier nib pour concevoir votre vue, n'oubliez pas de connecter la table que vous appelez reloadData dans le code à la table de votre plume. Cela arrive facilement car vous devez également connecter delegate et datasource. –

33

Etes-vous en train d'actualiser les données du thread principal? Si oui, vous devez appeler la méthode reloadData selon la méthode suivante:

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait

Donc, pour un tableView il serait:

[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

19

Juste une mise à jour 2013, vous devriez aussi être capable de recharger les données, aussi longtemps que vous utilisez

dispatch_async(dispatch_get_main_queue(), ^{ 
    [self.tableView reloadData]; 
}); 

GCD est génial!

+0

Cela devrait être la réponse acceptée. Si vous espériez que reloadData simple rafraîchirait réellement l'interface utilisateur sans aucune sorte d'interaction, c'est la façon de le faire. – Markus

+0

Pouvez-vous expliquer plus en détail pourquoi il devrait être exécuté sur le thread principal? – jchnxu

-5

L'aide du code ci-dessous vous rechargerez table pendant que vous cherchez que:

[self.tableView reloadData]; 
+4

Mauvaise pratique pour appeler ces méthodes – AlexeyVMP

Questions connexes