0
我有一個名爲「HelloWorld.m」的類和另一個名爲「Person.m」的類。我在HelloWorld.m類中聲明Person實例如下:從另一個類調用Objective C實例方法
Person *person;
現在,當用戶觸摸我火了以下方法屏幕:
[person foo];
但我得到的錯誤說無效的選擇發送。
注意:Person類繼承自CCSprite類。我究竟做錯了什麼?
Person.h:
-(void) foo;
Person.m:
-(void) foo
{
NSLog(@"foo called!");
}
更新1:在HelloWorld.h和HelloWorld.m我已經declarated人的財產。這是對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
是的,我導入Person.h。我初始化了init方法中的人員,並且是的Person有一個foo方法。 – azamsharp 2010-10-12 02:58:30
似乎與CCSprite有關。既然它說[CCSprite foo]無法識別的選擇器發送到... – azamsharp 2010-10-12 03:07:32
我們可以看到你打電話給這個人的代碼嗎? – 2010-10-12 03:11:11