0

我有一个简单的问题。我需要将我在 mainGameScene 中使用的数组传递给 appDelegate,以下是我的代码的简化版本。

在 mainGameScene.h

@interface mainGameScene : CCLayer
{
    CCArray *gameObjectArray;
}

在 mainGameScene.m 我有一个方法来获取数组:

-(CCArray)getArray:
{
    return gameObjectArray;
}

在 AppDelegate.h 中,我创建了一个 mainGameScene 实例:

@interface AppController : NSObject <UIApplicationDelegate, CCDirectorDelegate>
{
     mainGameScene *mainGameScene;
}

在 AppDelegate.m 中,我尝试通过以下方式访问数组:

-(void) applicationDidEnterBackground:(UIApplication*)application
{   
    CCArray *gameObjectArray = [mainGameScene getArray];
    CCLOG(@"numOfObjects = %d", getArray.count);
}

由于某些原因,它打印出的 numOfObjects 始终为 0;

谁能给我一个快速回答为什么会发生这种情况?我应该如何实施它?提前感谢您的回答。

4

1 回答 1

0

AppDelegate 不应该是这样的:

-(void) applicationDidEnterBackground:(UIApplication*)application
{   
    CCArray *gameObjectArray = [mainGameLayer getArray];
    CCLOG(@"numOfObjects = %d", gameObjectArray.count);
}

我看不出那些其他变量是从哪里来的。

于 2013-03-06T02:14:24.637 回答