此问题与asked here
半问题类似但不同之处在于我正在使用cocos2d。 我的AppDelegate中有一个名为screenshot的方法。它显然用于截取屏幕截图。我想在另一个类中调用这个方法,但只是做[self screenshot];没有成功,因为我得到警告'GameOver'我没有回应'-screenshot'。
我想要的只是在GameOver中调用截图方法。
谢谢!
答案 0 :(得分:0)
您无法调用不存在的方法 - 它将生成运行时错误。
如果你想从GameOver调用AppDelegate的方法,你应该有一个指向AppDelegate对象的指针,如果该方法不是静态的:
[appDelegatePointer screenshot];
如果方法是静态的
[AppDelegate screenshot];
我想你只有一个对象AppDelegate,你可以创建一个静态方法
+(AppDelegate) sharedDelegate;
AppDelegate类的将返回你的对象单例。因此,您可以从GameOver对象或其他任何地方调用screenshot
方法:
[[AppDelegate sharedDelegate] screenshot];
这样的事情在CCDirector,CCTextureCache,SimpleAudioEngine,...... Cocos2D中的类中完成