Рекомендуется называть переменную экземпляра отличной от свойства. Причиной этого является то, что в этом случае вы не можете случайно использовать переменную экземпляра вместо свойства. Это не так важно при использовании типов значений, таких как целые числа и числа с плавающей запятой, но более важно при использовании ссылочных типов в свойствах retain
. Рассмотреть свойство
@property (nonatomic, retain) NSString *myString;
...
@synthesize myString;
Компилятор заботится о сохранении строки, когда вы делаете self.myString = someString
. Но когда вы пишете myString = someString
, вы на самом деле не используете свойство, а вместо этого непосредственно переменную, и сохранение не происходит. Это может привести к появлению зомби, утечек и т. Д. Присвоив переменной экземпляра другое имя, например:
@property (nonatomic, retain) NSString *myString;
...
@synthesize myString = myString_;
вы больше не можете писать myString = someString
, потому что это приведет к ошибке компилятора. Если вам нужно использовать переменную экземпляра напрямую, вы всегда можете написать _myString = someString
, но на практике это редко требуется.
Существуют и другие случаи, когда вы пишете явные методы свойств, но проблема в основном та же, вы не можете случайно обойти методы свойств при использовании второго варианта.
Так что, в основном, это метод, позволяющий избежать ненужных ошибок при обработке свойств (в основном это retain-properties).