У меня есть простой вопрос. Мне нужно передать массив, который я использовал в mainGameScene для appDelegate, и следующая упрощенная версия моего кода.как передать массив AppDelegate.m?
в 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;
Может ли кто-нибудь дать мне быстрый ответ на вопрос, почему это происходит? и как его реализовать? Благодарим вас за продвинутые ответы.
О, я ошибся, я его очищу, извините. любая идея, что происходит не так? – user1817517
У вас есть 'inGameLayer', упомянутый в вашем коде, а также' getArray' как переменная, а не метод. –
ОК, я только что исправил, теперь это имеет больше смысла? Можете ли вы сказать мне, почему gameObjectArray.count всегда 0? – user1817517