W poniższym kodzie jest bezpiecznie używać _test
i oczekiwać, że będzie miał vaue NO
? Czy muszę zawsze jawnie zainicjować go w - (id)init
?Czy pierwotne zmienne instancji są inicjowane domyślnie w Objective-C?
@implementation Test {
BOOL _test;
}
Wystarczy wskazać odniesienie, czytać dokumenty dla '+ alloc'. Konkretnie, wszystkie znaki iv, z wyjątkiem 'isa', są inicjowane na 0, ale nie powinieneś tak czy inaczej bawić się z' isa'. –
Należy zwrócić uwagę, że wskaźniki auto obiektu _ są_ w rzeczywistości zainicjowane na 'nil' po skompilowaniu pod ARC. –