alocar + init com propriedade sintetizada - isso faz com que a contagem de retenções aumente em dois?

Eu já vi o seguinte trecho bastante:

No cabeçalho:

SomeClass *bla;
@property(nonatomic,retain) SomeClass *bla;

No arquivo de implementação:

@synthesize bla;

e depois

self.bla = [[SomeClass alloc] init];

Eu acho que essa tarefa aumenta em dois a contagem de retenção de 'bla'; uma vez através da chamada de atribuição / inicialização, e depois pela retenção que pedimos para acontecer através do configurador de propriedades sintetizado

Como resultado, normalmente declaro minhas propriedades assim:

No cabeçalho:

SomeClass *_bla; // note the underscore
@property(nonatomic,retain) SomeClass *bla;

No arquivo de implementação:

@synthesize bla = _bla;

e depois

_bla = [[SomeClass alloc] init];

Desde que minha suposição inicial esteja correta - eu estaria interessado em saber se existe uma maneira 'certa' de fazer isso, ou seja, a declaração, a inicialização e o gerenciamento de memória das propriedades?

questionAnswers(4)

yourAnswerToTheQuestion