Dans cocos2d, j'essaie d'appeler une méthode sur le Parent d'un CocosNode. L'application fonctionne bien, mais je reçois un «objet» peut ne pas répondre à l'avertissement «méthode». Le parent est une couche Cocos2d sous-classée, donc je devine que j'ai besoin de lancer un parent en quelque sorte, mais cela génère des erreurs fatales.Comment réparer un 'Objet' peut ne pas répondre à l'avertissement 'méthode' dans Cocos2d
La méthode est comme ce
if(CGRectContainsPoint([newBrick boundingBox], touchedStartPoint)){
[parent showChooser];
return kEventHandled;
}
J'ai essayé d'ajouter ce qui suit, mais sans succès ...
if(CGRectContainsPoint([newBrick boundingBox], touchedStartPoint)){
if([parent respondsToSelector:@selector(showChooser)]){
[parent showChooser];
}
return kEventHandled;
}
Toutes les idées?
excellent. Merci. Si je peux me permettre, pourquoi la deuxième option est-elle plus sûre? – gargantuan
Parce que vous vérifiez explicitement que 'parent' est une instance de la classe que vous attendez, plutôt que de supposer que c'est le cas. –
... qui, si l'hypothèse est fausse, pourrait provoquer un crash. Pour mettre fin à la phrase d'Otto. ;) – LearnCocos2D