Problème d'import récursif
olof
Membre
Bonjour,
j'ai une application qui gère une cave à vin. Côté modèle, j'ai une classe FGVin (avec le nom, les cépages, la couleur, le nombre de bouteilles, ...). J'ai une autre classe FGSortie qui a les attributs nbBouteilles, dateSortie et occasion.
Ma classe FGVin a aussi un tableau d'objets FGSortie.
En résumé, un vin peut avoir de 0 à n sorties.
Jusque là , tout va bien. Maintenant, j'ajoute la possibilité de trouver un vin par rapport à une date (de sortie). Je trouve sans problèmes les sorties qui ont été effectuées à une date précise, mais par contre, je n'arrive pas à remonter jusqu'au vin.
Je me suis dit, il faut que j'ajoute un lien sur le vin dans mes sorties. Le problème est que rien qu'en ajoutant un #import "FGVin.h" dans ma classe FGSorties, j'ai des erreurs de compilation.
Il faut savoir que ma classe FGVin a un import de FGSortie.
J'ai comme l'impression que j'ai un problème d'import récursif, non ?
Est-ce que vous avez l'impression que je fais quelque chose de faux ? Vous faut-il plus d'informations ???
Merci !
j'ai une application qui gère une cave à vin. Côté modèle, j'ai une classe FGVin (avec le nom, les cépages, la couleur, le nombre de bouteilles, ...). J'ai une autre classe FGSortie qui a les attributs nbBouteilles, dateSortie et occasion.
Ma classe FGVin a aussi un tableau d'objets FGSortie.
En résumé, un vin peut avoir de 0 à n sorties.
Jusque là , tout va bien. Maintenant, j'ajoute la possibilité de trouver un vin par rapport à une date (de sortie). Je trouve sans problèmes les sorties qui ont été effectuées à une date précise, mais par contre, je n'arrive pas à remonter jusqu'au vin.
Je me suis dit, il faut que j'ajoute un lien sur le vin dans mes sorties. Le problème est que rien qu'en ajoutant un #import "FGVin.h" dans ma classe FGSorties, j'ai des erreurs de compilation.
Il faut savoir que ma classe FGVin a un import de FGSortie.
J'ai comme l'impression que j'ai un problème d'import récursif, non ?
Est-ce que vous avez l'impression que je fais quelque chose de faux ? Vous faut-il plus d'informations ???
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Comme le dit Schlum, avec beaucoup de concision ::), dans le .h le @class est suffisant
Ce n'est pas forcément une mauvaise chose...
À considérer comme une piste plutôt qu'une réponse toute crue quoi.
En effet, merci Schlum.
Quelqu'un a juste une petite explication de cette directive (si c'est comme ça qu'on l'appelle ?) ?
Merci !
Entièrement d'accord !
Ma remarque était admirative.
Et comme dit Paul Meurisse dans un des monocles, "Il faut savoir regarder les choses qu'il y a ... derrière les choses"
Bonne journée
Le #import était dans le .h
En effet, très concis Dans mon cas, suffisant pour que ça fonctionne, mais pas pour comprendre les dessous de la chose... Il faut dire qu'une recherche @class sur Google n'a pas l'air de tenir compte du signe @...
"Ce que j'en ai compris"
@class nom_de_classe;
Permet d'informer le compilateur que la classe existe, sans plus à ma connaissance.
On peut donc déclarer des objets de cette classe, mais les méthodes n'en sont pas connues.
... par forcément justement Tu peux essayer de faire un @class TrucMachinChose; tu n'as aucun warning
Effectivement, ça rend la recherche d'info difficile
Avec "class directive", on tombe là dessus sur la doc Apple :
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_4_section_5.html
Je l'avais pas vu. Merci Eddy, c'est parfait !