2013-03-06 64 views
0

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

在mainGameScene.h

@interface mainGameScene : CCLayer 
{ 
    CCArray *gameObjectArray; 
} 

和mainGameScene.m

我有一个方法来获取数组:

-(CCArray)getArray: 
{ 
    return gameObjectArray; 
} 
在AppDelegate.h

,我创建mainGameScene的一个实例:

我试图通过访问数组:
-(void) applicationDidEnterBackground:(UIApplication*)application 
{ 
    CCArray *gameObjectArray = [mainGameScene getArray]; 
    CCLOG(@"numOfObjects = %d", getArray.count); 
} 

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

任何人都可以快速回答为什么发生这种情况?我该如何执行它?感谢您提前回答您的问题。

回答

0

不应该AppDelegate的样子:

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

我看不出与其他变量的来源。

+0

哦,我犯了一个错误,我会清除它,对不起。任何想法出了什么问题? – user1817517 2013-03-06 02:22:43

+0

你有你的代码中提到的'inGameLayer',以及'getArray'作为变量,而不是方法。 – 2013-03-06 02:23:51

+0

好吧,我刚刚纠正了,现在更有意义了吗?你能告诉我为什么gameObjectArray.count总是0吗? – user1817517 2013-03-06 02:25:26