Использование self-> ivar при непосредственном доступе к переменным экземпляра
Я заметил, что большинство кодеров Objective-C никогда не используютself->ivar
синтаксис при непосредственном доступе к переменным экземпляра. Большинство примеров кода, которые я вижу, просто ссылаются на переменную экземпляра безself->
, Я думаю, что довольно сложно ввести ссылку на переменную экземпляра, не давая понять, что это переменная экземпляра, а не просто переменная текущей области видимости.
Я чувствую, что хочу написать что-то вроде:
- (void)dealloc {
[self->someVar release];
[self->anotherVar release];
[super dealloc];
}
или же
- (void)setVar:(Foo *)newVar {
[self->var autorelease];
self->var = [newVar retain];
}
Не так уж много случаев, когда нам когда-либо даже нужно было обращаться к переменным нашего экземпляра, не используя аксессор для инкапсуляции, но иногда нам это нужно, например, в dealloc или в пользовательских методах получения и установки.
Я плохой человек / программист для этого? Есть ли действительно хорошая причина не писать такой код? Потому что так приятно делать это таким образом.