2010-07-25 7 views
1

J'ai un UITableView avec deux sections, qui sont toutes deux vides lorsque mon application se lance. Mon application extrait les données d'une URL, puis place les données dans des tableaux (un par section) qui doivent être utilisés pour fournir les données UITableView pour chaque cellule.Comment actualiser les données UITableView?

L'appel [tableView reloadData] ne semble pas actualiser les données ou appeler l'une des méthodes déléguées. (comme demander le nombre de sections et de rangées, etc. bien que je ne sache pas si c'est réellement supposé)
J'utilise des UITableViewCell personnalisés, si cela peut vous aider.

J'ai également essayé d'actualiser les sections et de boucler les données pour ajouter chaque cellule individuelle dans les sections. Rien ne semble fonctionner.
J'ai vérifié encore et encore, tout semble être bon, et le UITableView est connecté correctement dans Interface Builder.
J'ai deux autres vues de table dans mon application (dans d'autres onglets) qui fonctionnent parfaitement bien, bien qu'elles aient une seule section.

+0

C'est censé. Comme point de départ - les méthodes déléguées attendues sont-elles appelées lorsque la vue de la table est chargée pour la première fois? –

+0

Oui, ils le sont. C'est la seule fois où les méthodes déléguées sont appelées. – ttarik

Répondre

3

Si vous placez un point d'arrêt sur cette ligne et passez la souris sur "tableView", cela signifie-t-il que l'adresse de la mémoire est 0x0?

+0

Oui, c'est le cas. Je suppose que c'est une mauvaise chose ... une idée de pourquoi ça arrive? – ttarik

+0

Oui ... cela signifie que le "tableView" que vous référencez n'est pas le tableau que vous avez essayé de connecter à IB. Essaye ça; changez le nom de votre point de vente de tableView en myTableView (ou quelque chose d'autre), mais ne le nommez pas quelque chose de similaire à quelque chose qui pourrait déjà exister sur votre contrôleur de vue. Accrochez tout à votre nouvelle sortie (et assurez-vous de changer tout nom ivar sous-jacent) ... et je parie que ça va commencer à fonctionner. – Steve

+0

Malheureusement, cela n'a pas fonctionné, il renvoie toujours null. J'ai vérifié dans l'une des méthodes de délégué de vue de table, numberOfSectionsInTableView, et la vue de table correcte est appelée dedans. Puis de toute façon quand je me réfère à cette vue de la table plus tard, c'est nul. – ttarik

1

Vérifiez quelques choses:

  1. Assurez-vous que tableView est connecté à propriétaire dans IB
  2. de fichier Assurez-vous tableView.delegate = auto
  3. Assurez-vous que votre source de données a fait des données
+0

1. Déjà était 2. Était déjà 3. C'est le cas, mais les méthodes ne sont pas appelées pour les cellules à créer – ttarik

Questions connexes