ниже в файле .h
@property (retain, nonatomic) NSString* userName;
является синтаксическим сахаром для
-(NSString*)userName;
-(void)setUserName:(NSString*)userName;
в файле .h
и @synthesize
in .m - это синтаксический сахар для оставления для собственной реализации, уважая ваши retain
, nonatomic
и т. Д., Как указано в объявлении вашего свойства.
Вы не можете синтезировать без @property, даже если вы указали подходящий метод get, сигнатуру set в файле .h.
Но вы можете оставить @synthesize и реализовать свой собственный метод получения и установки.
Если вы выполнили как @synthesize, так и пользовательский установщик получения, среда выполнения уважает вашу реализацию и вызывает то же самое.