Class 如何将数组传递给AppDelegate.m?

Class 如何将数组传递给AppDelegate.m?,class,cocos2d-iphone,Class,Cocos2d Iphone,我有一个简单的问题。 我需要将我在MainGameSene中使用的数组传递给appDelegate,下面是我代码的简化版本 在游戏场景中 @interface mainGameScene : CCLayer { CCArray *gameObjectArray; } 在MainGameSecene.m中,我有一个获取数组的方法: -(CCArray)getArray: { return gameObjectArray; } 在AppDelegate.h中,我创建了MainGa

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

在游戏场景中

@interface mainGameScene : CCLayer
{
    CCArray *gameObjectArray;
}
在MainGameSecene.m中,我有一个获取数组的方法:

-(CCArray)getArray:
{
    return gameObjectArray;
}
在AppDelegate.h中,我创建了MainGameSecene的一个实例:

@interface AppController : NSObject <UIApplicationDelegate, CCDirectorDelegate>
{
     mainGameScene *mainGameScene;
}
由于某些原因,它打印出来的numOfObjects始终为0


有人能给我一个关于为什么会发生这种情况的快速回答吗?我应该如何实施它?在advanced中感谢您的回答。

AppDelegate不应该看起来像:

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

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

哦,我犯了一个错误,我会澄清的,对不起。你知道出了什么问题吗?你的代码中提到了
inGameLayer
,还有
getArray
作为变量,而不是方法。好吧,我刚刚纠正了,现在它更有意义了吗?你能告诉我为什么gameObjectArray.count总是0吗?getArray是mainGameLayer中的一个方法,它只返回mainGameLayer中的gameObjectArray。对不起,我完全被你的代码弄糊涂了。你提到了MainGameSevent,但在AppDelegate.h中你说的是mainGameLayer。
-(void) applicationDidEnterBackground:(UIApplication*)application
{   
    CCArray *gameObjectArray = [mainGameLayer getArray];
    CCLOG(@"numOfObjects = %d", gameObjectArray.count);
}