Diferencia entre acceder a métodos de propiedad y campos de clase (Objective-C)
Supongamos que tengo este código:
@interface Foo : NSObject {
Bar *bar;
}
@property (retain, nonatomic) Bar *bar;
@end
Al usar este campo / propiedad, ¿hay alguna diferencia entre las líneas:
[self.bar doStuff];
y
[bar doStuff];
?
Al realizar la asignación, el método de propiedad realizará la retención correcta, pero ¿qué pasa con el acceso de lectura a la propiedad, como se describe anteriormente? ¿Hay alguna diferencia?