Alcance de las variables Objetivo C
¿Las variables declaradas en los métodos se borran después de que se realiza la llamada al método? Es decir, si tengo el método "someMethod" y cada vez que se llama quiero devolver un NSString diferente de una propiedad de pila, el método devolverá el siguiente objeto en la pila o mantendrá devuelto el primer índice ya que x se borra en la Fin de la llamada al método. Sé si C que las variables se borran después de las llamadas a funciones, ¿es lo mismo en el objetivo c? ¿Usaría una propiedad separada para la variable x algún problema? Gracias
(Double) someMethod{
int x;
[self.stack objectAtIndex:x];
x++;
}
Después de leer los comentarios, intenté crear una propiedad para reemplazar x y esto es lo que escribí, pero aparece una advertencia de error que indica que "declaración local de" _location "oculta la variable de instancia" ¿Qué significa esto?
@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++;
}