He seeen el siguiente fragmento de un poco:alloc + init con propiedad sintetizada: ¿provoca que la cuenta de retención aumente en dos?
En el encabezado:
SomeClass *bla;
@property(nonatomic,retain) SomeClass *bla;
En el archivo de implementación:
@synthesize bla;
y luego
self.bla = [[SomeClass alloc] init];
I piense que esta asignación hace que el retener cuente para 'bla' por dos; una vez a través de la llamada alloc/init, luego a través de retener que pedimos pasar a través del setter de propiedades sintetizadas.
Como resultado, normalmente declaro mis propiedades como esta:
En el encabezado:
SomeClass *_bla; // note the underscore
@property(nonatomic,retain) SomeClass *bla;
En el archivo de implementación:
@synthesize bla = _bla;
y luego
_bla = [[SomeClass alloc] init];
Pr Supongamos que mi suposición inicial es correcta: ¿me interesaría saber si existe una forma "correcta" de hacerlo, es decir, la declaración, la inicialización y la administración de la memoria de las propiedades?
En primer lugar, invitamos a Stack Overflow. Una de las cosas que es importante hacer en Stack es aceptar respuestas que funcionen para usted. Es importante para quienes responden y para su propia reputación. – smathy