IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement iOS Discussion :

[Débutant] Appli avec attribution d'une valeur dans un label


Sujet :

Développement iOS

  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [Débutant] Appli avec attribution d'une valeur dans un label
    Salut à tous !

    Je viens vers vous car je débute totalement en dev iOS (et dev tout court d'ailleurs) et je fais face à plsuieurs problèmes. Déjà, j'ai créé ma classe, mais lorsque je RUN, en fait il me ressort les erreur de mon viewcontroller.h et .m
    comment peut on exécuter qu'une classe (et donc le fichier nouvellement créée?)

    ensuite voilà le code de mon appli actuel avec mes questionnements et remarques en commentaire :

    pour le fichier.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #import <UIKit/UIKit.h>
    
    
    @interface MFAExampleClass : NSObject <UIApplicationDelegate> {
        IBOutlet UILabel *label;
    }
    
    @property (nonatomic, retain) IBOutlet UILabel*label;
    @property (weak, nonatomic) IBOutlet UIButton *setTo5;
    @property (weak, nonatomic) IBOutlet UIButton *reset; /* ici on déclare les objets ??*/
    
    @end
    et le .m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @implementation MFAExampleClass
    
    @synthesize label; //a quoi sert cette ligne concretement ?
    
    -  (IBAction)reset:(id)expéditeur // je ne comprends pas la présence du "expéditeur" sachant que je ne l'ai pas déclaré
    {
        UILabel *label; 
       label = 0;
    }
    - (IBAction)setTo5:(id)expéditeur
    {
        UILabel *label;
        label = @"5"; // bizarrement pour le label = 0 il ne me signale rien mais pour le label = 5 j'ai du mettre en mode string pour qu'il l'accepte
    }
    
    @end
    et quand je "run" j'ai 4 erreurs (trois jaunes une rouge), la rouge c'est : link command failed with exit code 1 (use -v to see invocation)

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 660
    Points : 10 642
    Points
    10 642
    Par défaut
    Utilise la balise code signalé par un croisillon dans la barre d'édition

    Ensuite impossible de t'aider parce que
    1. Tu pars de trop loin (ce ne sont que des erreurs triviales et pour certaines même pas Objective-C)
    2. Tu ne donnes pas toutes les informations "link command failed with exit code 1". Ce sont tous les messages, les 3 jaunes et le rouge, qu'il faut


    Sinon
    > /* ici on déclare les objets ??*/
    Non des propriétés c'est à dire en gros un attribut + son getter + son setter

    > a quoi sert cette ligne concrètement ?
    À définir le getter et le setter

    > Je ne comprends pas la présence du "expéditeur" sachant que je ne l'ai pas déclaré
    Il faudrait rechercher dans la documentation d'Apple, mais c'est l'élément graphique UI (un bouton par exemple) qui a appelé le message du contrôleur.
    Le truc classique de toutes les bibliothèques graphiques
    Tu peux l'omettre si XCode est gentil, mais foncièrement cela ne sert à rien de faire cela.

    > bizarrement pour le label = 0 il ne me signale rien mais pour le label = 5 j'ai du mettre en mode string pour qu'il l'accepte
    Et après tu ne comprends pas pourquoi cela ne compile pas
    label est un pointeur et en plus tu n'as pas besoin de le créer puisque c'est une propriété IBOutlet.
    Tu fais cela avec XCode/ Interface Builder

    Et de plus c'est label.text = @"5";, mais tu fais cela également avec XCode/ Interface Builder

    UILabel

  3. #3
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    effectivement je pars de très loin mais pourtant je prends les tuto du début..
    quelles genre d'erreur triviales a tu remarqué ?

    j'ai modifié le .m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @implementation MFAExampleClass
    
    @synthesize label;
    
    -  (IBAction)reset:(id)expéditeur
    {
        [label setValue:0]
    }
    
    - (IBAction)setTo5:(id)expéditeur
    {
        [label setValue:5]
        
    }
    
    @end

    mais la il me dit que no UIlabel declares the selector setValue..
    ça a a voir avec le header? avec ce code je n'ai plus donc que ces deux erreurs.

    ou se trouve la barre d'edition?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 660
    Points : 10 642
    Points
    10 642
    Par défaut
    Utilise la balise code signalé par un croisillon dans la barre d'édition

    Regardes la documentation de UILabel
    Il n'y a pas d'attribut Value

    Par contre (un peu d'aide) tu vois que text est une propriété (tu sais @property)
    Donc:
    • Soit tu l’appelles directement label.text = @"5';.
    • Soit tu l’appelles via son setter [label setText:@"5'];.


    Bon va lire des tutoriaux et des livres et reviens nous voir dans quelques jours

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2012, 10h32
  2. Réponses: 9
    Dernier message: 05/01/2007, 20h04
  3. Renvoi d'une valeur dans un champ avec un style
    Par m@thieu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2005, 18h09
  4. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49
  5. Réponses: 4
    Dernier message: 01/09/2004, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo