Partage
  • Partager sur Facebook
  • Partager sur Twitter

[xcode] problème première application iphone

    27 janvier 2013 à 13:58:07

    Bonjour,

    j'ai suivi le tuto de michel martin concernant la création d'applications pour iphone. Il a été écrit sous IOS5 et moi je programme pour IOS6.

    Voici mon viewcontroller.h:

    //
    //  ViewController.h
    //  premier2
    //
    //  Created by vincent on 25/01/13.
    //  Copyright (c) 2013 test. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    
    @property (weak, nonatomic) IBOutlet UILabel *message;
    
    
    - (IBAction)reagir:(id)sender;
    
    
    @end

    voici mon viewcontroller.m:

    #import "ViewController.h"
    
    @implementation ViewController
    @synthesize message;
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
    	// Do any additional setup after loading the view, typically from a nib.
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    - (IBAction)reagir:(id)sender {
        NSString *lemessage = [[NSString alloc] initWithFormat:@"Bravo !"];
    message.text=lemessage;
        
    }
    @end

    et voici le bug affiché...

    2013-01-27 13:40:36.249 premier2[3146:11303] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x925bed0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key reagir.'
    *** First throw call stack:
    (0x1c8c012 0x10c9e7e 0x1d14fb1 0xb76711 0xaf7ec8 0xaf79b7 0xb22428 0x22e0cc 0x10dd663 0x1c8745a 0x22cbcf 0xf1e37 0xf2418 0xf2648 0xf2882 0x41a25 0x41dbf 0x41f55 0x4af67 0xefcc 0xffab 0x21315 0x2224b 0x13cf8 0x1be7df9 0x1be7ad0 0x1c01bf5 0x1c01962 0x1c32bb6 0x1c31f44 0x1c31e1b 0xf7da 0x1165c 0x1d5d 0x1c85)
    libc++abi.dylib: terminate called throwing an exception
    (lldb) 

    Je suis débutant et cet erreur me fait vraiment peur...

    Quelqu'un peut-il m'expliquer et me donner précisément la marche à suivre pour régler ce problème car le tuto est bien fait mais si tous les débutants se retrouvent coincés...

    Merci,

    Vincent



    • Partager sur Facebook
    • Partager sur Twitter
      27 janvier 2013 à 15:57:29

      Salut,

      J'ai exactement la même erreur et je cherche toujours la cause :(

      J'espere donc aussi que quelqu'un répondra :/

      • Partager sur Facebook
      • Partager sur Twitter
      Supergun - Un 2 Players Arena . Live coding sur twitch.tv/Uriopass
      Anonyme
        27 janvier 2013 à 16:51:54

        Essayez de remplacer 
        message.text=lemessage;
        par
        _message.text=lemessage;
        • Partager sur Facebook
        • Partager sur Twitter
          27 janvier 2013 à 18:50:22

          Tu as fait un @synthesize message;
          qui n'a pas lieu d'être, ensuite soit tu fait un self.message.text soit un _message.text 

          Et essayez de ne plus suivre ce tuto !

          (On répète trop souvent les mêmes choses car le tuto est mal fichu pour les débutants, la cause : PÉRIMÉ ! )

          • Partager sur Facebook
          • Partager sur Twitter
            1 février 2013 à 10:36:35

            Bonjour,

            Comme l’éditeur de ce message, j'ai le même souci et j'essaye vos solution.

            j'ai comprit que le tuto était obsolète d’où m'a question : En existe t'il un à jours svp ?

            cordialement,

            Cedric

            PS : pour info, lorsque "message" est souligné en rouge, cliquez sur le petit cercle rouge à gauche de la ligne et XCode vous proposera de remplacer "message" par "_message" (se qui marche très bien)

            -
            Edité par ThaneKrestoff 1 février 2013 à 11:11:43

            • Partager sur Facebook
            • Partager sur Twitter
              1 février 2013 à 11:45:33

              Non il n'existe pas de tuto à jour sur le SdZ.

              Ce que je conseille aux débutants et de travailler sur du C et C++ afin de bien comprendre les notions d'objets et les bases du C.
              Ensuite pour passer sur de l'obj-c c'est mieux de passer sur la doc d'Apple. 

              • Partager sur Facebook
              • Partager sur Twitter
                8 février 2013 à 9:46:33

                Je comprends pas, ce même code fonctionne très bien de mon côté.

                Essaie peut-être de recommencer à partir de l'ajout des contrôles sur l'interface, j'avais eu un soucis causé par une mauvaise manipulation la première fois que j'ai réalisé ce mini-TP.

                • Partager sur Facebook
                • Partager sur Twitter
                  8 février 2013 à 15:50:49

                  Du dois avoir une version d'xcode plus ancienne car de toute façon la syntaxe a changer je vois mal comment ça pourrai marcher de ton coté si tu respectes bien la marche qui est présentée
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 février 2013 à 20:36:02

                    holosmos a écrit:

                    Du dois avoir une version d'xcode plus ancienne car de toute façon la syntaxe a changer je vois mal comment ça pourrai marcher de ton coté si tu respectes bien la marche qui est présentée


                    J'ai la version 4.5.2, ça doit être pour ça. Parce que je viens d'essayer à nouveau (en comparant notre code qui est le même) et ça fonctionne très bien.

                    Je vais mettre la version 4.6 et je verrai bien :)

                    Edit : Je viens de mettre à jour Xcode (4.6) et mon programme fonctionne toujours. Le message passe bien en "bravo !" quand j'appuie sur le bouton. Bizarre tout ça.. :euh:

                    -
                    Edité par Keyzounet 8 février 2013 à 20:48:14

                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 février 2013 à 12:24:23

                      Parce que le projet quand tu l'as ouvert utilisait l'ancien SDK et l'utilise toujours mais si tu recommence un projet avec la même chose dans ton code ça ne marchera plus.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 février 2013 à 23:54:28

                        Holosmos a écrit:

                        Parce que le projet quand tu l'as ouvert utilisait l'ancien SDK et l'utilise toujours mais si tu recommence un projet avec la même chose dans ton code ça ne marchera plus.


                        J'ai testé par curiosité et tu as bien raison, Xcode m'oblige à rajouter _message.text...

                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 février 2013 à 14:04:16

                          Salut,

                          en fait cette erreur ça arrive souvent quand tu as pas fait le lien entre ton IBOutlet et ton (label j'imagine je fais que parcourir le thread vite fiat) objet d'interface.

                          Pour le coup des _message ça vient des alias soit tu fais self.message,sinon tu rajoutes @synthesize message = _message (une histoire d'alias pour rester en local)

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!
                            30 juin 2013 à 16:53:27

                            écoeuré du tuto,

                            je viens de l'acheter et en effet bloqué dès le début !

                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 juin 2013 à 16:54:23

                              vous devriez le retirer de la vente en ebook ce tuto dans ces conditions !

                              Bon moi j'ai bien mis _message, aucune erreur à signaler mais le simulateur me donne une belle page blanche avec quedal dedans,

                              j'ai pourtant exactement le code indiqué sur les posts précedents ou du tuto.

                              Aucune idée si c'est l'obsolescence du tuto ou autre chose la cause !

                              -
                              Edité par reny 30 juin 2013 à 17:04:28

                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 juin 2013 à 17:54:13

                                Obsolescence du tuto ;) check la F.A.Q
                                • Partager sur Facebook
                                • Partager sur Twitter

                                [xcode] problème première application iphone

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown