Unterschied zwischen dem Zugriff auf Eigenschaftsmethoden und Klassenfelder (Objective-C)

Angenommen, ich habe diesen Code:

@interface Foo : NSObject {
    Bar *bar;
}

@property (retain, nonatomic) Bar *bar;

@end

Gibt es bei Verwendung dieses Feldes / dieser Eigenschaft einen Unterschied zwischen den Zeilen:

[self.bar doStuff];

und

[bar doStuff];

?

Bei der Zuweisung führt die Eigenschaftsmethode eine korrekte Aufbewahrung durch. Wie sieht es jedoch mit dem Lesezugriff auf die Eigenschaft aus, wie oben beschrieben? Gibt es da einen Unterschied?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage