Хранение объекта в памяти (iPhone SDK) - PullRequest
0 голосов
/ 21 мая 2010

Я пытаюсь создать UIImageView с именем theImageView в методе touchesBegan, который затем я могу затем переместить в новое местоположение в touchesMoved.В настоящее время я получаю "необъявленную" ошибку в touchesMoved, где я устанавливаю новое местоположение для theImageView .

Что я могу сделать, чтобы theImageView в памяти между этими двумяметоды?

РЕДАКТИРОВАТЬ: Я не могу объявить theImageView в @interface, так как мне нужно создавать изображение каждый раз при прикосновении к определенной точке.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    ...
    UIImageView *theImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
    theImageView.frame = CGRectMake(263, 228, 193, 300);
    [theImageView retain];
    ...
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    ...
    theImageView.frame = CGRectMake(300, 300, 193, 300);
    ...
}

1 Ответ

6 голосов
/ 21 мая 2010

Вы объявили переменную в методе / функции, что делает ее локальной переменной (то есть переменной, которая существует только внутри этой функции).Чтобы сделать его доступным в других методах, вы должны объявить его как переменную экземпляра в @ interface вашего класса.

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