我有另一個Objective C繼承的奇怪問題。我有一個名爲IGameObject的協議,從NSObject和IGameObject繼承的類GameObject,最後是從GameObject繼承的Player。ObjC繼承的另一個奇怪點
問題是,當我將Player *賦給IGameObject *時,會產生一個錯誤,但是當我將Player *分配給GameObject *時,它可以正常工作。我還沒有看到,我讀過的所有內容都不可能。這裏的代碼:
-(IGameObject*) clone
{
Player* p=(Player*) 0xFFfFFFFF;
//Throws an error saying that Cannont initialise a variable of type IGameObject with an value of Player*
IGameObject* go=p;
//This works perfectly
GameObject* go2=p;
return [[Player alloc] initWithGameObject:self];
}
有人可以猜測發生了什麼?
在此先感謝。
這只是一個快速測試,看看問題出在哪裏。就是這樣,非常感謝快速回答。 – Notbad