2010-01-21 5 views
2

J'essaye de mettre à jour une liste dans un contrôleur de tableview. En viewWillAppear dans ce contrôleur particulier tableview, le tableView est configuré avec le code:iphone recharger des données de table

[self.tableView reloadData];

Je suis en train de faire ce rafraîchissement d'une autre classe (DetailViewController), qui fait référence à un autre contrôleur de vue. Dans une méthode dans DetailViewController, je souhaite recharger les données dans JobsViewController, mais je ne peux pas le faire. Je peux imaginer que le code ci-dessous fonctionne, mais quelque chose manque encore. Quelqu'un peut-il faire la lumière sur ce sujet?

[JobsViewController.tableView reloadData];

+0

Etes-vous sûr que la variable de classe que vous appelez cette méthode sur la même vue que vous affichez. Vous devez avoir une référence dans votre vue Contrôleur afin d'appeler cette méthode, que ce soit une référence via IB ou peut-être via du code, en utilisant les délégués cibles. – natanavra

Répondre

4

Avez-vous changé aussi votre source de données? reloadData ne recharge que les cellules. Il ne prend pas soin de mettre à jour la source de données sous-jacente. Par exemple. Si vous lisez des données d'un tableau dans tableView:cellForRowAtIndexPath:, vous devez modifier les valeurs de tableau avant d'appeler reloadData.

+0

ouais je suppose que c'est le problème, je peux recharger ce View manuellement, et il ne fait pas ce que je veux quand même. Salutations pour le pourboire. – oberbaum

+0

Existe-t-il un moyen de recharger la baie ou la source de données? – Warrior

Questions connexes