Probleme avec l'ajout d'une classe

JekarJekar Membre
10:25 modifié dans API AppKit #1
Voila, j'ai un petit projet qui se compile sans erreur.
Je fais New file ->  Cocoa / Objective-C class -> maclasse.m
La je touche pas aux nouveaux fichiers, je compile, et directe j'ai une erreur sur maclasse.m
error : Cocoa/cocoa.h : No suche file or directory a la ligne de #import "maclasse.h"

J'ai essaye sur un projet vide ca me fait pareil. Qu est ce qui merde?

Merci

Réponses

  • Philippe49Philippe49 Membre
    10:25 modifié #2
    La majuscule dans le second Cocoa/Cocoa.h
  • JekarJekar Membre
    10:25 modifié #3
    Nan, c est le message d erreur que j ai.

    Voir copie d ecran. Une idee?


  • AliGatorAliGator Membre, Modérateur
    10:25 modifié #4
    Tel que tu as l'erreur, ça veut dire que le problème se trouve en fait dans ton .h
    Peut être qu'il manque la classe mère : quand tu crées une nouvelle classe par "File -> Cocoa/Objective-C Class", il te crée les fichiers pour une nouvelle classe... mais il me semble de mémoire que, comme il ne sait pas de quelle classe tu veux que cette classe dérive, il ne la fait "dériver de rien", et laisse volontairement une erreur de syntaxe dans le .h pour que tu penses à  indiquer de quelle classe ta nouvelle classe doit dériver

    Du coup dans "totot.h" vérifies que tu as bien
    @interface Totot : NSObject
    
    et pas un truc comme
    @interface Totot : /* indicate here the class to derive from, like NSObject or NSView */
    
    comme Xcode le fait parfois pour te faire penser à  indiquer la classe dont tu veux dériver.

    Bon je suis pas sûr que ce soit ça non plus, si ça se trouve il t'as mis directement que ça dérivait de NSObject et c'est que quand tu crées ta classe depuis IB3 qu'il laisse ce commentaire pour te laisser indiquer la classe parent, je te laisse vérifier et relire le .h de ta nouvelle classe.
  • JekarJekar Membre
    10:25 modifié #5
    Nop, ca derive bien d un NSObject
    Je crise la. Meme en partant d un projet vide, j ajoute une classe et hop erreur...


  • Philippe49Philippe49 Membre
    10:25 modifié #6
    Ouvre le group "framework" tu as bien Cocoa.framework dans linked FrameWorks ?
  • Philippe49Philippe49 Membre
    10:25 modifié #7
    Si oui nettoie la target  "Build >Clean All targets"
  • Philippe49Philippe49 Membre
    10:25 modifié #8
    Au passage, la convention classique en Objective C est de mettre une majuscule pour débuter les noms de classes, réservant les minuscules aux variables d'instances et aux méthodes.
Connectez-vous ou Inscrivez-vous pour répondre.