Это вопрос предпочтений. Однако есть различие, которое вы должны иметь в виду. Например, если вы напишите свой синтезатор так,
@synthesize myTime = _myTime;
И вы находитесь в области действия экземпляра метода класса, например, -(void)setTime:(id)myTime;
, есть разница между вызовами,
self.myTime = newTime;
И
myTime = newTime;
Становится ясно, что первый изменяет переменную экземпляра вашего объекта, а второй переназначает локальную переменную myTime
, переданную в качестве аргумента методу setTime:
, что обычно не требуется делать. Однако, если вы синтезировали свою переменную экземпляра следующим образом,
@syntehsize myTime;
Немного более запутанно, что произойдет с этим заданием,
myTime = newTime;
Это фактически переназначает локальную переменную и может не соответствовать тому, что вы намеревались. Поэтому, называя ваши переменные, хорошо придерживаться соглашений и избегать путаницы. Вот почему я предпочитаю назначать подчеркивание и всегда устанавливать переменные экземпляра, вызывая их присоединенными к self
.