我如何使用我的应用代表

时间:2014-07-21 20:38:58

标签: ios uiviewcontroller background appdelegate

我有一个名为" pauseGame的方法:"暂停游戏和一个名为" resumeGame的方法:" 我想知道如何在我的app委托中调用这些,我尝试了几种方法,但在我的调试器中它最终说" pauseGame:找不到方法"我导入了我的课程,我将它们宣布到我的app委托中,我试图弄清楚如何解决这个问题。

以下是我用过的代码:

- (void)applicationWillResignActive:(UIApplication *)application 
{
    [BPGameController pauseGame:]; 
}

- (void)applicationDidEnterBackground:(UIApplication *)application 
{
    [BPGameController pauseGame:]; 
}

- (void)applicationDidBecomeActive:(UIApplication *)application 
{
    [BPGameController resumeGame:]; 
}

4 个答案:

答案 0 :(得分:0)

试试这个。并确保方法resumeGame工作正常。

 - (void)applicationDidBecomeActive:(UIApplication *)application { 

    [super applicationDidBecomeActive:application];

    [BPGameController resumeGame:]; 

    }

答案 1 :(得分:0)

你的暂停/恢复方法类方法或实例方法,在你的代码示例中,它看起来像是将它们称为类方法。你能发布更具体的代码吗?

签名会有所帮助。

如果这些方法是实例方法,那么你可以做的是向YourAppDelegate添加一个属性,它可能是这样的:

@property (nonatomic, strong) BPGameController *bpgc;

然后当你在其他地方实例化BPGameController时,通过执行

在appdelegate上设置它
[(*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]; 

失去":"