Unterschied zwischen _property und self.property

Ich bin etwas verwirrt über die richtigen Konventionen beim Umgang mit Eigenschaften. Ich werde meine Frage anhand eines Beispiels veranschaulichen. Aus dem folgenden Beispiel weiß ich also, dass funktional "self.loan = self.loan + 250.00;" ist dasselbe wie "_loan = _loan + 250.00;" oder doch nicht Ich sehe zahlreiche Tutorials im ganzen Web, die beide Methoden verwenden können, um auf eine Eigenschaft zuzugreifen. Was genau ist der Unterschied zwischen der Verwendung von _loan und self.loan? (Ich weiß, dass self.loan dasselbe ist wie [self setLoan:].)

//ClassA.h
@interface ClassA: UIViewController
@property double loan;
@end

//ClassA.m
@implementation ClassA
@synthesize loan = _loan;

-(void)doSomething{
  self.loan = self.loan + 250.00; //Exhibit A
  _loan = _loan + 250.00; // Exhibit B 
} 

Antworten auf die Frage(3)

Ihre Antwort auf die Frage