Xcode 2.0, premier tutorial apple Cocoa...et je m'arrache les cheveux!

thieu75

Membre confirmé
18 Septembre 2001
46
5
Bonjour à tous,

Je viens d'installer xcode 2.0, ayant en tête la volonté de me mettre à cocoa. Je télécharge un PDF sur le site d'apple (objectutorial.pdf) qui est un pas à pas très bien fait. Objectif, faire un convertisseur de monnaie... bref du grand art!!!

Alors j'ingurgite du MVC saupoudré de quelque NSmachinchose, guidé par le tuto. Je compile et boom ca piaille :
Impossible de savoir pourquoi. Voici un copier coller de mes .h et .m :

Converter.h
/* Converter */

#import <Cocoa/Cocoa.h>

@interface Converter : NSObject
{
}
- (float)convertAmount:(float)amt atRate:(float)rate;
@end

Converter.m

#import "Converter.h"

@implementation Converter
- (float)convertAmount:(float)amt atRate:(float)rate
{
return (amt * rate);
}


@end

ConverterControler.h
/* ConverterControler */

#import <Cocoa/Cocoa.h>

@interface ConverterControler : NSObject
{
IBOutlet id Converter;
IBOutlet NSTextField *euroField;
IBOutlet NSTextField *rateField;
IBOutlet NSTextField *totalField;
}
- (IBAction)convert:(id)sender;
@end



ConverterControler.m
#import "ConverterControler.h"
#import "Converter.h"
@implementation ConverterControler

- (void)awakeFromNib
{
[[rateField window] makeKeyAndOrderFront:self];
[rateField selectText:self];
}

- (IBAction)convert:(id)sender
{
float rate, amt, total;
amt = [euroField floatValue];
rate = [rateField floatValue];
total = [Converter convertAmount:amt atRate:rate];
[totalField setFloatValue:total];
[rateField selectText:self];
}


//////// Les erreurs de compiltations viennent de disparaitre entre hier soir et aujourd'hui. Seul changement : j'ai rallumé l'ordinateur!
MAIS un problème subsiste, après un build and run, voici le binz :
[Session started at 2004-11-16 23:04:29 +0100.]
2004-11-16 23:04:38.512 CurrencyConverter[360] *** +[Converter convertAmount:atRate:]: selector not recognized
2004-11-16 23:04:38.522 CurrencyConverter[360] *** +[Converter convertAmount:atRate:]: selector not recognized

Merci mille fois pour votre aide!
Matthieu
 
Rassure moi tu as téléchargé la version 1.5 de XCode ???? Si c'est la 2 tu es sous NDA et donc tu ne devrais pas en parler et deuxièmement personne ne va te répondre car personne n'a cette version ;)
 
Coucou!
Merci de ta réponse bien qu'elle ne m'aide pas beaucoup!
Je parle de code pas de l'appli en elle même alors NDA ou pas, je ne vois pas ou est le soucis ;)
Le NDA permet tout de même de prononcer le mot apple :D

Matthieu
 
Le message d'erreur est explicite:
la méthode "+convertAmount:atRate:" n'existe pas dans Converter.

Je rappelle que "-" au début = méthode d'instance et "+" au début = méthode de classe.
Tu appelles sur la classe une méthode d'instance.
C'est mal :D


Les erreurs de compilation que tu avais ce devaient être des warnings (du type "Warning +[Converter +convertAmount:atRate:] selector unknown" justement). Les warnings n'empêchent pas le compilation et donc le code non modifié n'étant pas recompilé par la suite, tu ne retrouves pas les warnings. Je pense que c'est pour ça.

Tu peux configurer XCode pour émettre des erreurs au lieu de warning pour ce genre de problème.

PS: utilise les balises [ code] ou rajoute des espace sinon ça fait des smileys partout. ;)
 
Merci de ta réponse!
J'ai fais un copier coller de ce que me disait le tuto apple (j'ai bien des (- ...)).
Je crois que je vais m'acheter un bouquin en francais. As tu qqch à me conseiller niveau literature ?
Merci d'avance
 
Moi j'ai tout appris en anglais.
J'ai découvert cocoa avec la doc Apple bien sûr mais surtout avec les tutoriels (les Vermont Recipes en particulier) et conseils (sur la gestion de la mémoire par exemple) de chez StepWise. Mais ça fait un moment...

Sinon j'aime bien jeter un oeil aux exemples d'Apple (/Developer/Examples) et à la doc qui n'est pas trop mal foutue (enfin sauf des fois...)

Jamais regardé de truc en français ni acheté de bouquin. :siffle:
 
Merci pour tes conseil... mais c'est la doc d'apple que j'ai utilisé pour mes premiers pas (mon premier pas pour être plus juste!!!) Mais il y a des notion d'instance variable et je ne sais quoi que je préfère pour un premier temps apprendre en francais. Une fois ces notions aquise, je pense passé à l'anglais.

C'est résonnable ? non ;)
 
Pour un bouquin : Cocoa par la pratique de Aaron Hillegass. J'ai la version anglaise de la premiere edition, je pense que c'est pas mal pour debuter.
Une seconde ecdition est sortie en anglais; je ne sais pas si la version francaise correrspond a la premiere edition ou a la seconde.