Accès a un UITextFiel d'une custom Cell

Bonjour,


 


je suis face a un soucis, je n'arrive pas a comprendre comment accéder et interagir avec les UITextField présent dans mes cellules. Voici ma configuration :

Un UITableViewController avec un tableView en dynamique composé d'un prototype de cellule (ayant sa propre classe, contenant un textField). 


 


Chacune des cellules (une dizaine environ) possédant son champ de texte, je souhaiterai pouvoir en récupérer le contenue saisie par l'utilisateur. J'ai donc pensé au tag, mais lorsque j'affecte un tag lors de l'édition des cellules, cela ne semble pas fonctionner... (la valeur est toujours à  zéro)


 


Comment puis je faire pour accéder à  mes champs de texte ? 


 


Merci d'avance pour vos réponse !


Réponses

  • Bah normalement c'est avec le tag que tu peux accéder aux textes qui sont dans une UITableView. Tu affectes un tag égal au numéro de ligne de la UITableView, çà  te permet ensuite de savoir quelle zone de texte a été touchée...


    Si tu as essayé et que çà  ne marche pas, c'est bizarre. Comment as tu fait, poste un bout de code ?


  • TerflogagTerflogag Membre
    juin 2014 modifié #3

    Merci pour ta réponse, et bien mon test est assez simple, dans cellForRowAtIndexPath je tente d'initialiser mes tags que j'affiche immédiatement après  : 


     


                cell.saisieNote.tag = indexPath.row;


                NSLog(@tag : %ld,(long)cell.saisieNote.tag);


                NSLog(@indexPath.row : %lu,indexPath.row);


     


    Le premier NSLog donne un tag à  zéro systématique, et le second des valeurs cohérente ( 1,2,3 etc... logique me diras tu !). 


  • AliGatorAliGator Membre, Modérateur
    C'est sûrement dû au fait que saisieNote est nil, d'où saisieNote.tag qui n'est forcément pas affecté et te retourne 0 quand tu essayes de le relire ensuite.
  • TerflogagTerflogag Membre
    juin 2014 modifié #5

    Effectivement, c'est la deuxieme fois que je me fait avoir... Je n'ai visiblement pas saisie quelque chose.


     


    Dans cellForRowAtIndexPath je crée (ou réutilise ma cellule) avec comme classe ma classe personnalisé (de type UITableViewCell contenant mon textField), comment se fait t'il que tout les composants de ma cellule ne soit pas alors initialiser ? 

    Les autres champs (des UILabel) sont pourtant eux bien assignable dès la création.


  • AliGatorAliGator Membre, Modérateur
    T'as pas connecté ton IBOutlet.
  • Pouah, effectivement en faisant un copier coller j'avais oublié de refaire la connexion sur le prototype en question... Merci d'avoir pris du temps pour répondre a cette question un peu débile...


    Bonne soirée ! 


Connectez-vous ou Inscrivez-vous pour répondre.