2012-07-03 83 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爲你的幫助,但我仍然好奇我爲什麼沒有工作。非常感謝,如果有人能解釋它。 –