J'ai une classe appelée "HelloWorld.m" et une autre classe appelée "Person.m". Je déclare par exemple personne dans la classe HelloWorld.m comme suit:Méthode d'instance Objective C d'instance d'une autre classe
Person *person;
Maintenant, lorsque l'utilisateur touche l'écran je tire la méthode suivante:
[person foo];
Mais je reçois l'erreur disant sélecteur invalide envoyé.
REMARQUE: La classe Person hérite de la classe CCSprite. Qu'est-ce que je fais mal?
Person.h:
-(void) foo;
Person.m:
-(void) foo
{
NSLog(@"foo called!");
}
MISE À JOUR 1: Dans le HelloWorld.h et HelloWorld.m je declarated personne comme une propriété. Voici l'appel à la méthode person.foo.
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.person foo];
}
HelloWorld.h:
// When you import this file, you import all the cocos2d classes
#import "cocos2d.h"
#import "Person.h"
// Importing Chipmunk headers
#import "chipmunk.h"
// HelloWorld Layer
@interface HelloWorld : CCLayer
{
cpSpace *space;
Person *person;
}
// returns a Scene that contains the HelloWorld as the only child
+(id) scene;
-(void) step: (ccTime) dt;
-(void) addNewSpriteX:(float)x y:(float)y;
@property (nonatomic,retain) Person *person;
@end
Oui, j'ai importé Person.h. J'ai initialisé la personne dans la méthode init et oui Person a une méthode foo. – azamsharp
On dirait qu'il est lié à CCSprite. Comme il est dit [CCSprite foo] sélecteur non reconnu envoyé à ... – azamsharp
Pourrions-nous voir le code où vous faites l'appel à la personne? –