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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta