iOS: uso de self y guión bajo (_) con variable [duplicar]
Posible duplicado:
¿Cómo funciona un subrayado frente a una variable en una clase de c-cocodrilo-objetivo?
He estado muy confundido con el uso de self o subrayado con nombre de variable después de sintetizarlo como se muestra a continuación:
In .h file:
@property(nonatomic, strong) NSMutableArray *users;
In .m file:
@synthesize users = _users;
Según mis entendimientos cuando uso self.users, el sistema operativo se asegurará de liberar la memoria asignada previamente en el método de configuración para que no tengamos que ocuparnos explícitamente.
_users es una variable de instancia para los usuarios y se debe utilizar normalmente al acceder a la variable de usuarios. Si uso _users para cambiar su valor, entonces no se activará el delegado KVO que no notificará a una clase observando el cambio de valor de los usuarios.
Además, self.users permite diferenciar una variable ficticia en el nombre del método como se muestra a continuación,
- (void)assignUsers:(NSMutableArray*)users {
self.users = users;
}
¿Podría alguien decirme si hay algo que haya entendido mal o que haya perdido al usar _users o self.users? Gracias.