Каково значение по умолчанию a BOOL
переменная в Objective C?
Нет значения по умолчанию , если вы пишете
-(void)somemethod {
BOOL x; // <--- no default value
Он инициализируется как мусор.
Однако для BOOL
ivar он будет инициализирован значением NO
, поскольку весь экземпляр заполняется 0 при инициализации.
(Примечание: когда ARC включен, локальные указатели объектов всегда будут иметь значение по умолчанию nil
, но локальные переменные не объектных типов, таких как BOOL, по-прежнему инициализируются как мусор . См. Локальные переменные установлены в ноль? (Objective-C) .)