Comment récupérer le texte d'une TextField/TextView

KokodeloKokodelo Membre
avril 2016 modifié dans Objective-C, Swift, C, C++ #1

Bonjour,


J'ai actuellement un gros soucis pour récupérer le texte d'une TextField et d'un TextView, j'y planche depuis hier soir.

Pour le contexte, j'ai un SelectPostIt.xib (dans ma vue principale) avec un titre et un commentaire non modifiable qui, lorsque je double tape dessus, ouvre un PostIt.xib avec des champs pour modifier le SelectPostIt. Or je n'arrive pas à  récupérer les valeurs des champs de ce dernier. Voici un morceau du code de PostIt:


1) Dans mon PostIt.h :



@interface PostIt : UIView
@property (weak, nonatomic) IBOutlet UITextField *titre;
@property(weak, nonatomic) SelectPostIt* parent;

2) Dans mon PostIt.m :



@implementation PostIt

-(IBAction)doubleTap:(UITapGestureRecognizer *)recognizer{

NSString *stringFromTextField = [self.titre text];
NSLog(@stringFromTextField: %@", stringFromTextField );

/*
[_parent setTitre:titre.text];
[_parent setCommentaire:commentaire.text];
[_parent setIsEdited:true];
*/

[self removeFromSuperview];
}

(Les commentaires sont dus au fait que pour l'instant rien ne fonctionne, ces lignes sont donc inutiles... )


Mon problème ici est que NSLog me retourne tout le temps (null)... 

Je suis vraiment perdu et je requiert votre aide s'il vous plait! D'avance merci :)






EDIT: le problème est réglé, je devais réglé les referencing outlets, merci quand même ;)

Mots clés:

Réponses

  • MayerickMayerick Membre
    avril 2016 modifié #2

    Bonjour à  toi,


     


    Comme c'est ton premier post il faut se présenter dans la section idoine. Cela permettra aux membres du forum de mieux cerner ton parcours, tes repères dans le dev et donc d'adapter les réponses.


     


    Concernant ton problème, l'attribut text d'un textField est une propriété et non une méthode. Pour récupérer la valeur en string du textField il faut donc faire comme tu le fais dans ton commentaire: 



    @implementation PostIt

    -(IBAction)doubleTap:(UITapGestureRecognizer *)recognizer{

    NSString *stringFromTextField = self.titre.text;
    NSLog(@stringFromTextField: %@", stringFromTextField );

    [self removeFromSuperview];
    }


    En espérant que ça aide.


     


    Edit: je dis n'imp, UITextField possède aussi une méthode [textFIeld text], toutes mes excuses. Dans mon premier post j'allais ajouter que le problème peut venir du fait que tu n'as pas ajouté une ligne @synthetize dans ton implementation


    ou alors tu peux y accéder en utilisant _titre.


     


    Voilà .


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