Значение по умолчанию BOOL

Каково значение по умолчанию a BOOL переменная в Objective C?

94
задан Josh Caswell 8 January 2013 в 06:41
поделиться

1 ответ

Нет значения по умолчанию , если вы пишете

-(void)somemethod {
  BOOL x;  // <--- no default value

Он инициализируется как мусор.

Однако для BOOL ivar он будет инициализирован значением NO , поскольку весь экземпляр заполняется 0 при инициализации.

(Примечание: когда ARC включен, локальные указатели объектов всегда будут иметь значение по умолчанию nil , но локальные переменные не объектных типов, таких как BOOL, по-прежнему инициализируются как мусор . См. Локальные переменные установлены в ноль? (Objective-C) .)

175
ответ дан 24 November 2019 в 06:04
поделиться