Ajuda de declaração de propriedade

Duplicar Possível:
Como um sublinhado na frente de uma variável em uma class de cacau objective-c funciona?

Eu tenho visto muitos exemplos on-line onde eles usam o seguinte estilo de codificação para declaração de propriedade:

@interface Book : NSObject { NSString *_title; } @property (nonatomic, retain) NSString *title; @end 

Na implementação:

 @implementation Book @synthesize title = _title; @end 

A questão é por que estamos usando sublinhado?

Se você usar uma convenção de sublinhado, poderá saber rapidamente se o código está usando uma propriedade ou uma variável de membro de class dentro dos methods de class. Não há razão técnica para isso, é uma preferência pessoal. Dependendo do que você está fazendo, pode ser útil. Certamente não é necessário se você optar por não fazê-lo.

Sublinhados são usados ​​apenas para ter certeza de que você não irá sobrepor nomes de methods, então se você está seguro em nomear suas variables ​​você não precisa