Diferença entre acessar métodos de propriedade e campos de classe (Objective-C)
Suponha que eu tenha este pedaço de código:
@interface Foo : NSObject {
Bar *bar;
}
@property (retain, nonatomic) Bar *bar;
@end
Ao usar este campo / propriedade, existe alguma diferença entre as linhas:
[self.bar doStuff];
e
[bar doStuff];
?
Ao fazer a atribuição, o método de propriedade executará a retenção correta, mas e o acesso de leitura à propriedade, conforme descrito acima? Existe alguma diferença?