Używanie self-> ivar podczas bezpośredniego dostępu do zmiennych instancji

Zauważyłem, że większość programistów Objective-C nigdy nie używaself->ivar składnia podczas bezpośredniego dostępu do zmiennych instancji. Większość przykładowego kodu, który widzę, po prostu odwołuje się do zmiennej instancji bezself->. Myślę, że raczej mylące jest odwoływanie się do zmiennej instancji bez wyraźnego stwierdzenia, że ​​jest to zmienna instancji, a nie tylko zmienna bieżącego zakresu.

Czuję, że chcę pisać takie rzeczy jak:

- (void)dealloc {
    [self->someVar release];
    [self->anotherVar release];
    [super dealloc];
}

lub

- (void)setVar:(Foo *)newVar {
    [self->var autorelease];
    self->var = [newVar retain];
}

Nie ma zbyt wielu okazji, aby kiedykolwiek uzyskać dostęp do naszych zmiennych instancji bez użycia akcesorium do enkapsulacji, ale czasami potrzebujemy takich jak w dealloc, lub w niestandardowych getterach i setterach.

Czy jestem złą osobą / programistą? Czy jest jakiś dobry powód, by nie pisać kodu w ten sposób? Ponieważ naprawdę dobrze jest robić to w ten sposób.

questionAnswers(4)

yourAnswerToTheQuestion