В основном да.
Вокруг дома есть сеттер и автозаправочный автопогрузчик. Если вы используете инструкцию @syncronize, то у вас есть возможность влиять на то, как названы сеттер, получатель и свойство. Если вы автосинхронизируете имя свойства _start. Имя получателя запускается, а имя параметра setStart.
Так
something = self.start
фактически вызывает добытчика и
self.start = something
называет сеттера. Эквиваленты являются:
something = [self start];
[self setStart:something];
Если вы когда-либо хотите получить доступ к переменной экземпляра непосредственно затем сделать так:
_start = something;
something = _start;
В том случае, если вы просто использовать @synthesize start;
тогда эквивалент будет:
start = something;
something = start;
Это может быть путаным, но start
фактически обращается к переменной экземпляра, в то время как self.start
использует сеттер/геттер. Это различие имеет огромное значение, когда вы не ARC. В зависимости от параметров свойств (например, назначение, копирование, сохранение, ...) автоматически созданный getter и setter выполняет некоторое управление памятью, пока управление памятью остается вам, когда вы работаете непосредственно с переменной экземпляра.
Благодарим за редактирование. Моя глупая ошибка. :) –