alloc + init con propiedad sintetizada: ¿hace que el recuento de retención aumente en dos?
He visto bastante el siguiente fragmento:
En el encabezado:
SomeClass *bla;
@property(nonatomic,retain) SomeClass *bla;
En el archivo de implementación:
@synthesize bla;
y entonces
self.bla = [[SomeClass alloc] init];
Creo que esta asignación eleva el conteo de retención para 'bla' por dos; una vez a través de la llamada alloc / init, luego a través de la retención que pedimos que suceda a través del configurador de propiedades sintetizado.
Como resultado, normalmente declaro mis propiedades de esta manera:
En el encabezado:
SomeClass *_bla; // note the underscore
@property(nonatomic,retain) SomeClass *bla;
En el archivo de implementación:
@synthesize bla = _bla;
y entonces
_bla = [[SomeClass alloc] init];
Siempre que mi suposición inicial sea correcta, ¿me interesaría saber si hay una forma `` correcta '' de hacer esto, es decir, la declaración, la inicialización y la administración de memoria de las propiedades?