UITableView: probleme de connexion
Bonjour à tous,
J'ai regardé ce qu'il y a sur le forum, mon pb tj pas résolut.
J'ai ajouté une UITableView à ma View (UIView)
J'ai ajouté les deux protocoles et fait la connexion de la tableView avec les 2 propriété (Datasource et Delegate)
et finalement crée une outlet tableView que j'ai connecté à ma UITableView.
Sauf que les évenement ne se déclence pas !
Seulement ça se déclenche :
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
mais celui là ne marche pas
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section.
n'hesitez pas à répondre
Je vous remercie ++
J'ai regardé ce qu'il y a sur le forum, mon pb tj pas résolut.
J'ai ajouté une UITableView à ma View (UIView)
J'ai ajouté les deux protocoles et fait la connexion de la tableView avec les 2 propriété (Datasource et Delegate)
et finalement crée une outlet tableView que j'ai connecté à ma UITableView.
Sauf que les évenement ne se déclence pas !
Seulement ça se déclenche :
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
mais celui là ne marche pas
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section.
n'hesitez pas à répondre
Je vous remercie ++
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu n'arrives pas à quoi?
Quel messages t'affiche la console ou le compilateur (si erreurs il y a).
L'evenement ne se déclenche pas et parsuite ma tableView est tj vide.
J'ai mis à point d'arret et comme ça j'ai sut que l'evenement ne fonctionne pas:
cellForRowAtIndexPath. (comme indiqué en haut)
Voilà mon ami.
En étant un peu plus clair ça aiderait sans doute.
Si tu n'es pas capable d'expliquer clairement ton problème, le mieux c'est de mettre à dispo ton projet en fichier joint.
PS: merci de faire un minimum d'effort de relecture pour l'orthographe...
Vous avez parfaitement raison, mais bon je ne suis pas français, donc l'orthographe ça ne va pas être nickel.
Bref, je vous explique le truc clairement :
Je n'arrive pas à faire fonctionner la tableView : elle est tj vide sans message d'erreur.
Je suppose que l'événement cellForRowAtIndexPath ne fonctionne pas. (j'ai mis un point d'arrêt pour voir que ça marche pas).
Voilà en tous.
En ce qui concerne le projet, j'explique (mieux de l'envoyer) :
J'ai ajouté à ma View une UITableView, crée une outels tableView et fait la connexion.
J'ai déclaré les protocoles et implémenté les événements.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath => ne se déclenche pas.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section => Fonctionne
voilà ,
Ben comment le remplir, j'ai cru que ça se fait avec l'événement : cellForRowAtIndexPath qui ne marche pas ?
Va voir mon tuto sur le Tableview : iPhonetuts.
Il n'est pas parfait mais t'aidera à comprendre le principe d'un tableView.
Pas de souci. C'est déjà beaucoup mieux.
Bien, sans le code cela va rester de la spéculation mais bon on va essayer.
Si numberOfRowsInSection fonctionne cela laisse supposer que tes connections sont Ok. Mais qu'est-ce que retourne la méthode? Si c'est le nombre de valeurs d'un NSArray vide, on retourne 0 et du coup aucune raison que cellForRowAtIndexPath soit appelée.
Donc avant d'aller plus loin, il faut savoir ce que tu retournes dans numberOfRowsInSection. Un point d'arrêt ou un petit NSLog fera l'affaire...
Le NSLog devrait nous le dire.
Il y a un problème avec mon tableau. Malgré que je l'ai remplit, il est tj vide.
J'ai mis un return 1 (dans NumberOfRows InSection) et donc les événements se sont déclenchés.
Merci Mala, merci ceetix
Je pense que c'est tout simplement parce que ton tableau n'est pas alloué. Du coups, tu fais des "addObject:" ou équivalent sur un pointeur à nil.
J'ai fait un alloc suivit d'un init. C'est bon.
Comment je peux déboguer la variable comme on le fait en .Net ou Delphi.
Pour le moment j'ai des variables en binaires qui apparait.
bizarre avec ce TableView malgré que ça l'aire simple.
Ma dataSource est un NSArray.
Qu'elle est le meilleur événement, le plus simple pour afficher les infos dans la table ?
A ma connaissance, ce n'est pas géré au niveau de l'éditeur. C'est d'ailleurs un gros manque dans Xcode. Pour palier à cela, tu peux passer directement par gdb. Ne pas avoir peur, ça fait pas mal. :fouf):
Lorsque tu es dans le débogueur d'Xcode tu as une fenêtre gdb qui s'affiche avec un prompt "(gdb)" (C'est là que le programme nous râle dessus en général quand il y a un problème lors de l'exécution >:D ).
Il suffit alors de taper la commande suivante:
Avec 0x138f40 qui est dans mon exemple l'adresse de l'un de mes tableaux que j'ai copié/collé depuis la fenêtre de mes variables (les adresses dont tu parles). gdb va alors appeler la méthode "description" que possède tout objet héritant de NSObject et afficher le retour qui sera tout simplement un listing du contenu du tableau.
Cela revient à faire quasiment la même chose que si on mettait quelque part dans le code
Sauf qu'avec un NSLog les données sont en plus tracées dans le fichier de log mais pour du debug ce n'est pas vraiment utile.
En espérant que l'astuce serve à d'autre.
Edit: un simple "po 0x138f40" sans la commande description suffit.
Tout a fait, du coup c'est quand même plus rapide de passer directement par l'adresse. Finalement, avoir le nom c'est pas forcément "User Frendly" sous gdb. :P