SNV*_*NV7 3 iphone xcode properties objective-c ipad
在处理属性时,我对于正确的约定有点困惑.我将通过一个例子说明我的问题.所以从下面的例子我知道功能上"self.loan = self.loan + 250.00;" 与"_loan = _loan + 250.00;"相同 还是不是?我在网上看到很多教程,可能会也可能不会使用这两种方法来访问属性.那么使用_loan和self.loan之间究竟有什么区别(我知道self.loan与[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
}
Run Code Online (Sandbox Code Playgroud)
_loan 是一个变量,并为其赋值没有特定的副作用.
self.loan = self.loan + 250.00与写入[self setLoan:[self loan] + 250.00]方法基本相同,调用的方法除了简单地设置或获取变量的值之外,还可以执行其他操作.这些方法的额外功能取决于您是编写它们的自定义版本(setter和getter)还是用于@synthesize创建它们,如果使用@synthesize,则使用您在@property声明中应用的属性.