2012-07-03 169 views
0

我正在使用Cocos2D,并且我做了一个非常简单的类,该类继承自CCSprite。我有以下类方法:无法获得继承类的实例

+(id)carWithFile:(NSString *)fileName{ 
Car *car= (Car*)[CCSprite spriteWithFile:fileName]; 
car.anchorPoint=ccp(0,0); 
    NSLog(@"%@",[car class]);//Here I get CCSprite in the console 
return car; 
} 

但让我惊讶的是,我仍然获得了CCSprite例如,当我调用此方法。即使我检查方法本身,新创建的对象的类是CCSprite而不是Car。我错过了什么?

回答

2

如果是从汽车的子类,你可以使用

[Car spriteWithFile:fileName]; 
+0

但它会返回CCSprite,而不是汽车。 –

+0

在你的问题中,你把它投到汽车上,但是你不用你的Car类来分配/初始化它。 – Pfitz

+0

这很奇怪。我试过[Car spriteWithFile:fileName],这一次它工作。+ 1为你的帮助,但我仍然好奇我为什么没有工作。非常感谢,如果有人能解释它。 –