Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iPhone] Use of undeclared identifier

tableView et pickerView

Sujet résolu
    19 décembre 2012 à 23:54:36

    Bonsoir à tous,

    En suivant le tutoriel Xcode, dans le chapitre concernant les informations tabulaires, par deux fois (tableView et pickerView), l'erreur "use of undeclared identifier" est apparue.
    De surplus dans un code que l'on est censé copier "tel quel" depuis la documentation d'Xcode.
    J'ai pourtant bien implémenté les protocoles UIPickerViewDelegate et UIPickerViewDataSource dans le fichier .h dans le cas du picker. Dans le cas du tableView, j'ai utilisé le modèle Master-Detail Application.
    Voilà 4 heures que je cherche dans la documentation Xcode, ce forum et sur Google sans résultat.
    J'ai déjà pensé à quelques possibilités, mais sans confirmation ni solution.

    • la version d'Xcode que j'utilise est plus récente que celle du tuto (4.5.2)
    • la syntaxe a changé : Xcode me propose d'ouvrir la parenthèse "[" mais ne me la ferme pas, je ne sais donc où la fermer par moi même


    Voici une capture d'écran pour vous situer :

    Image utilisateur

    Merci d'avance pour votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2012 à 0:25:25

      Bizarre que ton code soit décaler vers la droite, tu as pas oublié une accolade au dessus?
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2012 à 18:53:12

        Merci pour ta réponse :)

        L'indentation est à cause du
        - (void)viewDidLoad
        {
        [super viewDidLoad];
        
        //reste du code
        
        }
        

        C'est donc tout à fait normal.
        Je n'ai pas inclus le code entier à cause de ma liste "aircraftList" qui contient des dizaines d'entrées. Histoire d'économiser nos yeux :p
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2012 à 19:37:15

          Dans ton code, tu déclares :

          // Tu declares MyIndentifier, avec un "n" en trop donc par rapport à ce que tu appelles 
          static NSString *MyIndentifier = @"MyIndentifier";
          


          Et toi tu l'appelles comme ça :

          // Tu appelles MyIdentifier et c'est pas [TableView... mais [tableView...
          UITableViewCell *cell = [TableView dequeueReusableCellWithIdentifier:MyIdentifier];
          


          Et ça depuis iOS 6 on l'écrit plus :

          if (cell == nil) 
          {
                  cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];
          }
          
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2012 à 21:11:01

            Merci encore!

            En effet, une floppée de fautes de frappe avec "MyIdentifier" :(:(:(
            conclusion : ne pas coder à minuit :p

            j'ai donc corrigé les nombreuses fautes de frappe, corrigé la majuscule et supprimé la condition qui est inutile.
            Seulement voilà, ça ne corrige en rien l'erreur qui est la raison de mon post, ni dans le cas du tableView, ni dans le cas du pickerView...

            J'ai pu remarquer également que le "Master-detail view application" semble déjà créer le code nécessaire et ne demande qu'à corriger les données qui nous son propres dans cette version d'xcode. Serait-ce là mon erreur? Devrais-je juste changer l'Array "objects" par le mien?
            C'est l'occasion également de demander pourquoi cette nouvelle version d'xcode demande à rajouter des underscores par rapport au cours. J'avais déjà remarqué ceci dans les premiers chapitres du tuto.

            EDIT : BINGO! ma déduction était bonne. Il suffisait de laisser ça dormir la nuit et d'y revenir plus tard :)
            Merci pour votre aide.
            Et encore félicitations pour ton tuto Coolsinus!
            • Partager sur Facebook
            • Partager sur Twitter

            [iPhone] Use of undeclared identifier

            × 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