XCode, ошибка: '_object' не объявлен. Нужна помощь в решении этой проблемы - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть этот код в моем файле viewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    GameLogic *_game = [[GameLogic alloc] init];
    [_game initGame];

    .......
}

GameLogic - еще один класс, который я создал. в том же файле viewController.m у меня есть другая функция

- (void)test {
    if([_game returnElecFence]) //[_game returnsElecFence] causes the error
    {
        NSLog(@"YES");
    }
    else {
        NSLog(@"NO");
    }
.......
}

Проблема в том, что всякий раз, когда вызывается тестовая функция, я получаю сообщение об ошибке «_game» undeclared. Я попытался поместить код инициализации GameLogic в файл .h и на вершину @implementation, чтобы сделать его глобальным, но каждый пробный метод приводил к худшей ошибке. TIA для всех, кто может предложить некоторые идеи, чтобы устранить эту ошибку до

1 Ответ

1 голос
/ 07 апреля 2010

_game является локальной переменной.Его область действия - это только метод, в котором он объявлен (в данном случае viewDidLoad).

Вам необходимо сделать _game глобальной переменной или, что еще лучше, переменной экземпляра вашего класса viewController, чтобы к ней могли обращаться все методы класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...