Escopo das variáveis ​​Objetivo C

As variáveis ​​declaradas nos métodos são apagadas após a chamada do método? Ou seja, se eu tenho o método "someMethod" e toda vez que é chamado eu quero retornar um NSString diferente de uma propriedade de pilha o método retornará o próximo objeto na pilha ou ele manterá retornado o primeiro índice desde que x é apagado no fim da chamada do método. Eu sei se C que as variáveis ​​são apagadas após chamadas de função, é o mesmo no objetivo c? Usaria uma propriedade separada para a variável x algum problema desse tipo? obrigado

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

Depois de ler os comentários eu tentei criar uma propriedade para substituir x e aqui está o que eu escrevi, mas recebo um aviso de erro informando "declaração local de" _location "oculta variável de instância" O que isso significa?

@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++;
}

questionAnswers(3)

yourAnswerToTheQuestion