我有一个名为" pauseGame的方法:"暂停游戏和一个名为" resumeGame的方法:" 我想知道如何在我的app委托中调用这些,我尝试了几种方法,但在我的调试器中它最终说" pauseGame:找不到方法"我导入了我的课程,我将它们宣布到我的app委托中,我试图弄清楚如何解决这个问题。
以下是我用过的代码:
- (void)applicationWillResignActive:(UIApplication *)application
{
[BPGameController pauseGame:];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[BPGameController pauseGame:];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[BPGameController resumeGame:];
}
答案 0 :(得分:0)
试试这个。并确保方法resumeGame工作正常。
- (void)applicationDidBecomeActive:(UIApplication *)application {
[super applicationDidBecomeActive:application];
[BPGameController resumeGame:];
}
答案 1 :(得分:0)
你的暂停/恢复方法类方法或实例方法,在你的代码示例中,它看起来像是将它们称为类方法。你能发布更具体的代码吗?
签名会有所帮助。
如果这些方法是实例方法,那么你可以做的是向YourAppDelegate
添加一个属性,它可能是这样的:
@property (nonatomic, strong) BPGameController *bpgc;
然后当你在其他地方实例化BPGameController
时,通过执行
[(*YourAppDelegate)[[UIApplication sharedApplication] delegate] setBpgc:yourBPGC];
然后在app委托方法中,您可以self.bpgc
引用您的bpgc并发送pauseGame
等消息。
答案 2 :(得分:0)
首先你的代码在语法上是不正确的.AS
[BPGameController pauseGame:]; //do not call pauseGame: wihout any parameter.
如果您没有任何值,请考虑使用nil
进行调用
[BPGameController pauseGame:nil];
或 如果你的功能不需要参数而不是从方法定义中删除。
其次我怀疑你没有在pauseGame:
档案中声明.h
在.h
文件中声明它。如果不是
第三,如果您想以pauseGame
方式调用[BPGameController pauseGame:nil];
,那么您的方法定义应该以{{1}}而不是+
开头。
-
如果您发布 +(void)pauseGame:(id)param{
}
的定义,则会有更多帮助
编辑:使用
pauseGame:
答案 3 :(得分:0)
如果resumeGame没有采取任何参数,它应该只是
[BPGameController resumeGame];
失去":"