Problème avec le tuto Cacao :(

CrazyJoCrazyJo Membre
23:31 modifié dans API AppKit #1
Ohé Ohé ! Continuant ma quête Cocoatrice lentement mais surement j'avais décidé de faire le tuto Cacao.
Je suis au chapitre "Premier essai, Débuggage". Même en suivant le tuto à  la lettre ,Xcode (2.2.1), m'indique toujours une erreur/warning sur une ligne.
Voici mon code "CacaoControl.m"
#import &quot;CacaoControl.h&quot;<br /><br />@implementation CacaoControl<br /><br />-(void)awakeFromNib<br />{<br />	[o_Taux setStringValue:@&quot;1&quot;];			//Met le taux à  1<br />	[o_Raz setState:NSOffState];			//Dévalider la mise à  zéro<br />	[o_Coef selectCellAtRow:0 column:0];	//radio bouton: x Un	<br />	<br />}	<br /><br /><br />- (IBAction)a_Convertir:(id)sender<br />{<br />float total, rate, dollr ;<br />BOOL Rz;<br />int Nbr;<br /><br />	rate = [o_Taux floatValue];<br />	Rz = [o_Raz state];						//prise de valeurs dans la fenêtre<br />	Nbr = [o_Coef selectedRow];<br />	dollr = [o_Dollar floatValue];<br />	<br />	// ERREUR + WARNING ICI -&gt;&nbsp; total = [o_Convertir LaConvertion:[o_Dollar floatValue] atRate:rate zero:Rz Coef:Nbr] ;		//Calcule le résultat<br />	<br />	[o_Euros setFloatValue:total];		//écrit le résultat<br />	[o_Dollar selectText:self];			//séléctionne le bon textfield<br />}<br /><br />- (IBAction)a_Sortir:(id)sender<br />{<br />}<br /><br />- (IBAction)a_Version:(id)sender<br />{<br />}<br /><br />@end<br />

Y'a quoi de faux ?!
Merci de votre aide ça fait 1 heure que  je tourne en rond...

Réponses

  • BruBru Membre
    23:31 modifié #2
    Quel est le message COMPLET d'erreur ou de warning ?

    .
  • CrazyJoCrazyJo Membre
    23:31 modifié #3
    Ah oui désolé , le voici :

    Le Warning : no'-LaConvertion:atRate:zero:Coef:' method found

    L'error : incompatible types in assignment

    Le code Convertir.h suuivit du code Convertir.m
    /* Convertir */<br /><br />#import &lt;Cocoa/Cocoa.h&gt;<br /><br />@interface Convertir : NSObject<br />{<br />}<br />-(float)LaConvertion:(float)somme atRate:(float)auTaux zero:(BOOL)zZero Coef:(int)fois ;<br />@end
    

    #import &quot;Convertir.h&quot;<br /><br />@implementation Convertir<br /><br />- (float)LaConvertion:(float)somme atRate:(float)auTaux zero:(BOOL)zZero Coef:(int)fois<br />{	<br />	if (zZero) return (0);<br />	switch (fois)<br />	{<br />		case 1: return (somme * auTaux * 2.0) ; break ;<br />		case 2: return (somme * auTaux * 3.0) ; break ;<br />		default: return (somme) ; <br />	}<br /><br />}<br /><br />@end<br />
    
  • BruBru Membre
    23:31 modifié #4
    Peut-être manque t'il un #import "Convertir.h" en tête du fichier CacaoControl.m (ou de son header CacaoControl.h)...

    .
  • CrazyJoCrazyJo Membre
    23:31 modifié #5
    Après avoir rajouté #import "Convertir.h" dans CacaoControl.h Xcode me compile bien tout . J'ai pas eu bessoin de le mettre aussi dans CacaoControl.m.
    Aparamment c'est une faute de ma part et pas du tuto si on le regarde de près, très près. :o
  • psychoh13psychoh13 Mothership Developer Membre
    23:31 modifié #6
    dans 1190610206:

    Après avoir rajouté #import "Convertir.h" dans CacaoControl.h Xcode me compile bien tout . J'ai pas eu bessoin de le mettre aussi dans CacaoControl.m.
    Aparamment c'est une faute de ma part et pas du tuto si on le regarde de près, très près. :o


    Mets-le plutôt dans CocoaControl.m, ça évite les références cycliques. On ne met un #import "fichier.h" dans un autre.h uniquement lorsque autre.h définit une catégorie ou une classe héritant d'une classe situé dans fichier.h.
  • tabliertablier Membre
    23:31 modifié #7
    :P Ouf!!!  J'ai bien cru que j'avais fait une con....ie de plus dans ce tutoriel!!
Connectez-vous ou Inscrivez-vous pour répondre.