Подчеркивать перед именем свойства в установщике

Я написал метод сеттера -

- (void)setMyProp:(MyProp *)myProp{
    _myProp = myProp;
}

Как подчеркивание ставится перед тем, как имя свойства работает? Я знаю, что этот вопрос был задан, но они о настройке пользователем имени свойства _myProp, по некоторым соглашениям. Я не синтезирую и не изменяю имя свойства. Как работает это подчеркивание?

1 ответ

Если вы используете последнюю версию LLVM, то компилятор создаст для вас @synthesize с синтаксисом:

@synthesize myProp=_myProp;

Поэтому вы можете использовать _myprop, даже если вы не синтезировали явно.

* SideNote: _myProp позволяет получить доступ к собственности напрямую, в то время как self.myProp вызовет аксессор. Всегда используйте self.myProp

Другие вопросы по тегам