Диапазон переменных Цель C

Переменные, объявленные в методах, стираются после завершения вызова метода? Т.е. если у меня есть метод "someMethod" и каждый раз, когда он вызывается, я хочу вернуть другую NSString из свойства стека, будет ли метод возвращать следующий объект в стеке, или он сохранит возвращенный первый индекс, поскольку x удаляется в конце вызова метода. Я знаю, если C, что переменные стираются после вызова функции, то же самое в цели c? Будет ли использование отдельного свойства для переменной х решить эту проблему? Спасибо

(Double) someMethod{
int x;
[self.stack objectAtIndex:x];
x++;
}

После прочтения комментариев я попытался создать свойство для замены x, и вот что я написал, но я получаю предупреждение об ошибке, в котором указано "локальное объявление" _location & quot; скрывает переменную экземпляра & quot; Что это значит?

@property (nonatomic) int location;
@synthesize location=_location;

-(int) location{
    if(!_location){
        int _location = 0;
     //warning is here 
    return _location;
     }
_location++;
return _location;

}

 (Double) someMethod{
int x;
[self.stack objectAtIndex:self.location];
x++;
}

Ответы на вопрос(3)

Ваш ответ на вопрос