2009-05-03 12 views
2

J'ai un UITableViews à l'intérieur d'un TabBarController qui sont remplis avec des tableaux de données séparés. En raison de la synchronisation Web, ce tableau est mis à jour et j'aimerais mettre à jour la table.UITableView - ajouter des cellules

Vocation:

[self.tableView reloadData] 

rechargera contenu dans les cellules existantes, mais je dois ajouter des cellules pour les nouvelles données. Il semble que cette méthode n'appelle pas

-tableView:tableView numberOfRowsInSection:section 

à nouveau, où est spécifié dynamiquement le nombre de lignes. Des idées? J'ai lu tous les documents que je peux trouver, et je n'ai rien compris. Est-ce un problème de conception d'application?

Merci!

Répondre

6

Jetez un oeil à ces fonctions dans UITableView:

-(void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation 
-(void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 
+0

Je dois ajouter/supprimer des lignes. Je ne peux pas simplement redéfinir le nombre de lignes et les redessiner toutes? ie: faire la partie dans -tableView: tableView numberOfRowsInSection: section dynamique et en quelque sorte recharger? –

+0

L'appel de reloadData DEVRAIT appeler ces méthodes. Si ce n'est pas le cas, essayez de vérifier la valeur du délégué/datasource de tableView pour vous assurer qu'il est correct immédiatement avant d'appeler reloadData. D'un autre côté, si vous appelez ces fonctions, les sections/lignes ajoutées s'animent. –

+0

Ahh. Oui. C'était un problème de délégué. Cette méthode fonctionne correctement. –

Questions connexes