我與某個概念有些混淆。問我的問題的最好方法是用一個例子來說明它。現在在下面的代碼中,我聲明瞭一個名爲loan的屬性,並且我綜合了這個屬性。現在,這可能看起來像一個白癡問題,但我將貸款價值「250.00」。我看到網絡上的教程可能會做「self.loan = 250.00;」 VS我的「貸款= 250.00」;「這兩種方式似乎都完成了同樣的事情。但爲什麼人們使用「self.propertyName」來訪問一個屬性,當使用屬性名稱本身就夠了?爲什麼Self被調用來訪問類自己的屬性?
//ClassA.h
@interface ClassA: UIViewController
@property double loan;
@end
//ClassA.m
@implementation ClassA
@synthesize loan;
-(void)doSomething{
loan = 250.00;
}
好吧,我明白了。因此,例如,這是正確的「self.loan = 10 + _loan;」這將是不正確的「self.loan = 10 + self.loan;」 – SNV7
兩者都是正確的:'self.loan = 10 + self.loan'被編譯器翻譯爲'[self setLoan:10 + [self loan]]'(使用'@ synthesize'生成的方法)。使用'self.loan'(屬性訪問器)而不是'_loan'(直接實例變量)幾乎總是可取的。 –