Как делает подчеркивание перед переменной в работе класса цели-c какао?

logger.log() является функцией стрелки, поэтому arguments являются не аргументами этой функции (см. Функции стрелок: нет привязки arguments ), а являются аргументами родительской функции, в данном случае - Функция-обертка Node.js , которая компилирует модули и имеет аргументы с циклическими зависимостями.

Попробуйте использовать общую функцию здесь:

const logger = {
  log() {
    // ...
  }
};

156
задан Forge 6 January 2017 в 18:26
поделиться

3 ответа

If you use the underscore prefix for your ivars (which is nothing more than a common convention, but a useful one), then you need to do 1 extra thing so the auto-generated accessor (for the property) knows which ivar to use. Specifically, in your implementation file, your synthesize should look like this:

@synthesize missionName = _missionName;

More generically, this is:

@synthesize propertyName = _ivarName;
96
ответ дан 23 November 2019 в 21:52
поделиться

It на самом деле ничего не значит, это просто соглашение, которое некоторые люди используют для дифференциации переменных-членов от локальных переменных.

Что касается ошибки, то, похоже, aMission имеет неправильный тип. Какова его декларация?

5
ответ дан 23 November 2019 в 21:52
поделиться

Это просто соглашение о удобочитаемости, оно не делает ничего особенного для компилятора. Вы увидите, что люди используют его для переменных частного экземпляра и имен методов. Apple на самом деле рекомендует не использовать подчеркивание (если вы не будете осторожны, вы можете переопределить что-то в своем суперклассе), но вы не должны чувствовать себя плохо, игнорируя этот совет. :)

18
ответ дан 23 November 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: