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