2010-02-17 6 views
0

j'ai une vue personnaliséeRechargement UITableView conserve les anciennes données

MyView : UIViewController <UITableViewDelegate, UITableViewDataSource> 

avec un UITableView au sein (et quelques boutons et étiquettes).

J'ai une notification d'une autre vue pour remplir la table avec des données à partir d'une base de données sqlite3. J'ai passé un tableau et après avoir traité la notification je recharge la table ([tableView reloadData]) avec les nouvelles données (il a de nouvelles données, je le débogue).

Ensuite, il appelle

(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 

mais ne rafraîchit pas les cellules, il reste des données anciennes. Je débogue et il recharge mais n'actualise pas les données.

Quel est le problème? Puis-je effacer les vieilles cellules ou quelque chose comme ça?

+1

À quoi ressemble votre méthode 'tableView: cellForRowAtIndexPath:'? Etes-vous sûr de le régler à chaque fois, ou juste quand la cellule du template (ou autre) est créée? –

Répondre

3

Il semble que vous définissiez probablement les données dans votre cellule == nil block après l'avoir déqueue. Dans ce cas, déplacez-le hors de ce bloc et assurez-vous que les données sont définies sur chaque appel cellForRowAtIndexPath.

+0

Oui, c'était le problème. Merci ^^ – emenegro

Questions connexes