[PROJET] comment récupèrer le nom d'un bouton comme texte

Bonjour



j'ai essayé ceci pour récupérer le nom de mon étiquette, mais il considère la valeur de l'étiquette soit 0. image/crazy.gif' class='bbc_emoticon' alt=' B) ' />



Je souhaiterai que si mon étiquette à  le nom de "Martin", pouvoir attribuer "martin" à  "texteDeMonEtiquette"

je ne trouve pas !!!


[color=#7041a7]NSString[/color] * texteDeMonEtiquette = [[color=#7041a7]NSString[/color] [color=#3d227f]stringWithFormat[/color]: [color=#cf3125]@"%@"[/color], [color=#508186]myLabel1[/color].[color=#7041a7]text[/color]];


Merci de votre aide



macbidule

(newbie)

Réponses

  • zoczoc Membre
    mai 2012 modifié #2
    Pourquoi faire simple quand on peut faire compliqué...


    NSString *texteDeMonEtiquette=myLabel1.text;
    




    Pour que cela fonctionne, il faut bien évidemment que le xib décrivant l'interface ait été chargé (en gros ça ne marchera qu'après réception de viewDidLoad par le contrôleur de la vue).

  • macbidulemacbidule Membre
    mai 2012 modifié #3
    Marche pas image/huh.gif' class='bbc_emoticon' alt='???' />



    le résultat affiché reste = 0



    j'avais effectivement défini dans le viewDidLoad mylabel1.text de cette manière :


    [color=#000000] [/color][color=#508186]myLabel1[/color][color=#000000].[/color][color=#7041a7]text[/color][color=#000000] = [[/color][color=#7041a7]NSString[/color][color=#000000] [/color]stringWithFormat[color=#000000]: [/color][color=#cf3125]@"texte label1"[/color][color=#000000]]; [/color]
    




    Est ce bien çà  que tu expliques dans les préalables nécessaire pour que çà  fonctionne




    il faut bien évidemment que le xib décrivant l'interface ait été chargé


    qu'entends tu par là  ?



    à  ce propos mon projet ne contient pas de xib mais un storyboard, je pense pas que çà  change quelque chose
  • Pareil, pourquoi faire simple quand on peut faire compliqué et faux...



    Relis la doc de "stringWithFormat" : la première string indique le format puis viennent ensuite les arguments.

    De plus à  quoi sert ton " stringWithFormat" ?

    Pourquoi pas directement : myLabel1.text = @texte label1 ou bien [myLabel1 setText:@texte label1] plus conforme à  l'Objective-C.
  • AliGatorAliGator Membre, Modérateur
    Tu n'as pas relié ton IBOutlet à  tous les coups...
  • [font=arial,helvetica,sans-serif]le IBoulet c'est moi !!![/font]

    [font=arial,helvetica,sans-serif]nos échanges mon permis de voir que,[/font]

    [font=arial,helvetica,sans-serif]1), je reproduis des bouts de code (qui peuvent fonctionner) mais qui ne sont pas dans les règles de l'art, Merci Eric P. (j'ai corrigé) [/font]



    [font=arial,helvetica,sans-serif]2) je faisais référence à  une étiquette (label) qui était bien une valeur numérique (voilà  pourquoi je suis le iBoulet) myLabel1.text avait bien une valeur 0 que je redéfinissais plus loin dans le code.[/font]

    [font=arial,helvetica,sans-serif] [/font]

    [font=arial,helvetica,sans-serif]Bien si vous avez encore un peu de patience avec moi, [/font]

    [font=arial,helvetica,sans-serif]en fait il ne s'agissait pas pour moi de récupérer la valeur d'une label, mais le titre d'un bouton .[/font]

    [font=arial,helvetica,sans-serif]J'ai réussi à  lui adresser une valeur par défaut comme ceci[/font]



    [font=arial,helvetica,sans-serif]
    [color=#000000][[/color][color=#508186]BoutonCible1[/color][color=#000000] [/color]setTitle[color=#000000]: [[/color][color=#cf3125]@"Nom 1"[/color][color=#000000] [/color]copy[color=#000000]] [/color]forState[color=#000000]:[/color]UIControlStateNormal[color=#000000]];[/color]
    
    [/font]



    [font=arial,helvetica,sans-serif]Je voudrais maintenant obtenir l'inverse[/font]


    [font=arial,helvetica,sans-serif]obtenir son nom pour le placer dans une chaine[/font]
  • zoczoc Membre
    mai 2012 modifié #7
    'macbidule' a écrit:

    [BoutonCible1 setTitle:[@"Nom 1" copy] forState:UIControlStateNormal];
    


    Décidément...



    Pourquoi donc vouloir systématiquement copier une chaine constante ?...
    [BoutonCible1 setTitle: @"Nom 1" forState:UIControlStateNormal];
    



    je reproduis des bouts de code (qui peuvent fonctionner) mais qui ne sont pas dans les règles de l'art, Merci Eric P. (j'ai corrigé)


    C'est la meilleure solution pour n'arriver à  rien... La programmation, ce n'est pas comme une recette de cuisine, il ne suffit pas de mélanger des ingrédients sans rien comprendre en chimie pour que ça marche quand même.



    Bon, sinon, pour ta question, la réponse est dans le paragraphe de documentation de setTitle. Ca serait quand même bien sympa de consulter un peu la documentation pour des questions si triviales. On est tous là  pour s'entraider, mais on n'est pas là  pour faire office de documentaliste...
    NSString *buttonTitle = [BoutonCible1 titleForState:UIControlStateNormal];
    




    Et en passant, il existe des règles de nommage qu'il serait opportun de respecter: Les noms qui commencent en majuscules sont réservés aux noms de classe. Dans ton code, "BoutonCible1" est une variable (une instance de UIButton), et devrait donc commencer par une minuscule.
  • AliGatorAliGator Membre, Modérateur
    +1000 avec zoc.



    Ta façon de faire n'est pas la bonne tu n'arriveras à  rien en procédant ainsi, par approximations, sans consulter la documentation, sans respecter les conventions de nommage, et en ne comprenant qu'à  moitié ce que tu fais... c'est hasardeux.



    Vraiment, prend ton temps, prend un bon bouquin, et commence par le début en respectant les bases (conventions, etc), ce qui va te forcer un peu à  manipuler la documentation, t'impreigner avec les concepts de base, prendre les bonnes habitudes... On ne bâtit pas une maison en posant les fenêtres et les portes avant de faire les fondations ni poser le parquet et faire l'enduit avant de poser les tuyaux et les fils image/wink.png' class='bbc_emoticon' alt=';)' /> Certes l'apprentissage prend du temps, mais tu n'avanceras que plus vite une fois ces bases posées.
  • Bonsoir Zox et AliGator,

    Vous avez raison et je suis conscient que je fais des erreurs. Je débute, évidement vous l'avez devinez. Je m'appui malgré tout sur plusieurs lectures, (en particulier le bouquin le site de zero.com de Michel Martin et Become an xcoder) mais il y a peu d'ouvrage sur xcode version 4.

    Beaucoup n'aborde, par exemple les règles de nommage que tard. (et j'avais déjà  commencer ma petite appli)

    Le projet que je développe n'a pour but pour moi que de comprendre au travers de l'expérimentation et exemple la compréhension de ce langage.

    Je vous remercie pour vos remarques et pour votre aide, il est parfois difficile de trouver dans un livre, ou sur le net une réponse à  quelques choses de très simple. C'est le cas je crois de mon post.

    J'ai déjà  repris et je vais poursuivre la syntaxe de mon code, sur le nomade et sur ce que ERIC C appelle "plus conforme à  l'Objective-C".



    mais je crois que c'est en tâtonnant, et par étape que je pourrai progresser



    Merci encore pour votre aide



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