2010-05-03 5 views

Répondre

2

Les vues de table ne contiennent pas de données et elles ne contiennent pas de lignes elles-mêmes. Au lieu de cela, les vues de table sont simplement une illusion créée en réaffichant les mêmes objets tableviewcell encore et encore avec des données différentes à chaque fois. La table réelle, les lignes réelles, sont réellement dans les données logiques. Donc, pour "insérer quelques lignes au milieu de la table existante", vous ajoutez réellement les lignes dans les données affichées par la table. Par exemple, si vous avez un tableau simple de noms que vous affichez dans la table, vous devez insérer les nouveaux noms dans le tableau. Ensuite, vous appelez le -[UITableView reload], ce qui amène la table à demander la source de données pour les nouvelles données. Voir le Table View Programing Guide for iPhone OS.

1

Insérez les données dans votre modèle et appelez reloadData sur la table. Si vous avez besoin d'animer l'insertion pour une raison quelconque, vous pouvez utiliser insertRowsAtIndexPaths:withRowAnimation:, mais le principe de mise à jour du modèle s'applique tout d'abord.

+0

Que signifie "Comment insérer les données dans votre modèle"? – Getsy

+0

Il signifie votre implémentation de cellForRowAtIndexPath: doit renvoyer les cellules correctes qui incluent vos données nouvellement insérées. Lorsque vous envoyez reloadData à la table, la table appellera cellForRowAtIndexPath: pour récupérer les cellules. – progrmr

+0

Je ne suis pas clair sur ceux-ci. Je ne sais pas comment insérer des lignes au milieu de tableview. Disons que j'ai cinq lignes dans tableview qui a quelques données (image, étiquette etc), je veux insérer une NOUVELLE LIGNE après la première rangée, en cliquant sur la première rangée de la table existante, Comment puis-je y parvenir? – Getsy

Questions connexes