Каково фактическое имя переменной экземпляра, скажем, topSpeed, как из лекций Стэнфордского университета о развитии Objective-C и iOS?
Вот код:
@property (nonatomic) double topSpeed;
Глядя на этот код, я думаю, что я определил переменную topSpeed в классе. Я не могу понять, почему он автоматически объявит метод getter с именем, аналогичным имени переменной - topSpeed?
Другой вопрос, когда мы используем
@synthesize topSpeed = _topSpeed
И если мы посмотрим, что будет генерировать @synthesize:
- (double) setTopSpeed:(double)speed
{
_topSpeed = speed;
}
- (double) topSpeed
{
return _topSpeed;
}
Что такое _topSpeed здесь и что такое topSpeed? Я объявил переменную topSpeed, а не _topSpeed. Что делать, если я не использую свойство, каким бы имя переменной было?