Я раньше избегал подчеркивания в моих именах переменных, возможно, из-за моих дней в колледже Java. Поэтому, когда я определяю свойство в Objective C, это то, что я, естественно, делаю.
// In the header
@interface Whatever
{
NSString *myStringProperty
}
@property (nonatomic, copy) NSString *myStringProperty;
// In the implementation
@synthesize myStringProperty;
Но почти в каждом примере это делается как
// In the header
@interface Whatever
{
NSString *_myStringProperty
}
@property (nonatomic, copy) NSString *myStringProperty;
// In the implementation
@synthesize myStringProperty = _myStringProperty;
Должен ли я преодолеть свое отвращение к подчеркиванию, потому что это один из способов, которым это должно быть сделано, есть ли веская причина для того, чтобы этот стиль был предпочтительным?
Обновление: С автоматическим синтезом свойств в настоящее время вы можете оставить @synthesize, и результат будет таким же, как если бы вы использовали
@synthesize myStringProperty = _myStringProperty;
который четко показывает предпочтения Apple. С тех пор я научился перестать волноваться и полюбить символ подчеркивания.