Cocos3D - 点符号上的“可能无法响应”警告

时间:2014-01-17 17:23:45

标签: ios7 cocos3d

我正在使用Cocos3D,这个函数给我一个'可能没有响应'警告:

[CClayer.CC3scene someFunctionFromCC3scene];

我知道解决此问题的一种方法是在Function中设置CCLayerCC3scene拨打someFunctionFromCC3scene。但还有其他方法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您更有可能没有导入相应的标头。例如#import“CC3Scene.h”。我想如果CC3scene属性的返回类型是id而不是实际的类,则会发生这种情况。

或者编译器对此是正确的,并且在运行时它会因“不响应选择器”而崩溃。在这种情况下,CC3Scene不实现someFunctionFromCC3scene选择器。检查拼写和参数,当然该类实际实现了该选择器并在@interface中声明了它。

答案 1 :(得分:1)

从您的示例来看,有几件事可能会出错:

您可能会将CCLayerCC3Layer混淆。 CC3LayerCCLayer的子类,支持显示3D场景。确保您正在实例化CC3Layer

如果您确实在使用CC3Layer并且CC3Scene属性(实际上是cc3Scene)正在返回CC3Scene的实例,那么,正如LearnCocos2D所示,请验证你正在调用的方法实际上存在于CC3Scene类中。如果您在此处提供具体的方法名称,那么我可以提供进一步的帮助。

如果someFunctionFromCC3Scene实际上是在自定义子类中定义和实现的,那么在调用该方法之前,应该将CC3Scene实例强制转换为自定义子类:

[((MyCC3Scene*)aCC3Layer.cc3Scene) someFunctionFromMyCC3Scene];

...比尔